Ответы пользователя по тегу JavaScript
  • Как из FormData() получить массив данных?

    you_web
    @you_web
    Кратко обо мне
    Такой вариант на айфоне сработает, проверил:

    const data = new FormData(form);
    const serializeData = {};
        
    [...data.keys()].forEach((key) => {
      serializeData[key] = data.get(key);
    });
    Ответ написан
    Комментировать
  • Gdfdskfkdsfksdkfkd&?

    you_web
    @you_web
    Кратко обо мне
    Да, так можно сделать, есть много способов, вот один из них, суть такая:

    Вы вешаете обработчик на все кнопки, потом, когда обрабатываете клик, смотрите откуда пришел этот клик.
    Получает элемент и с помощью метода closest находите родителя, в котором лежат скрытые элементы.

    И открываете именно их, примерная реализация в коде:

    Вёрстка допустим такая:
    <div class="wrap">
      <h2>Товар 1</h2>
      <div class="hide">Это скрыто</div>
      <button class="open">Кнопка, которая показывает скрытое</button>
    </div>
    
    <div class="wrap">
      <h2>Товар 2</h2>
      <div class="hide">Это скрыто</div>
      <button class="open">Кнопка, которая показывает скрытое</button>
    </div>


    js:

    const btn = document.querySelectorAll('.open');
    
    btn.forEach((item) => {
      item.addEventListener('click', (event) => {
        const itemWrap = e.currentTarget.closest('.wrap');
        const hideElement = itemWrap.querySelector('.hide');
        hideElement.style.display = 'block';
        // И т.д...
      });
    });


    п.с - есть такое понятие "делегирование", в данном контексте, это когда обработчик вешается не на каждую кнопку, а на общий блок. Но это вам думаю не надо раз всего ~ 20 товаров
    Ответ написан
    Комментировать
  • Как узнать номер строки в коде с которой вызвана функция?

    you_web
    @you_web
    Кратко обо мне
    Можно в девтулзах по колстеку смотреть кто вызвал функцию, а вот получить номер строчки кода думаю нельзя.

    5f65df1f6ac26749295665.png

    Если вы пишете на чем то(тайпскрипт, реакт и т.д) либо или используете минификатор или бабел, то номер строчки кода всё равно будет отличаться от ваших исходников.

    Но можно в аргумент функции логера передавать параметром имя функции.

    const logger = (text, fnName) => {
      console.log(text, fnName);
    }
    
    const someFn = () => {
      // Code...
      logger('text', 'someFn');
    }
    Ответ написан
    2 комментария
  • Как перевести ниже указаний код с jQuery на чистый JS (частично переведен)?

    you_web
    @you_web
    Кратко обо мне
    es6:

    // 1)

    if (activeNote) {
      const node = document.querySelector(`#${activeNote}`);
    
      node.children[0].innerHTML = title;
      node.children[1].innerHTML = created.toLocaleString('en-US');
      node.children[2].innerHTML = body;
      node.style.backgroundColor = color;
    
      activeNote = null;
    }


    // 2)

    const node = document.querySelector('#listed');
    node.appendChild(document.createTextNode(`${title} ${created.toLocaleString('en-US')} ${body} `));


    // 3)

    if (activeNote) {
      const node = document.querySelector(`#${activeNote}`);
      node.parentNode.removeChild(node);
      activeNote = null;
    }


    // 4)

    const nodes = document.querySelector(`#${id}`);
    const titleSel = nodes.children[0].innerHTML;
    const bodySel = nodes.children[2].innerHTML;
    Ответ написан
    Комментировать
  • Как закрыть окно после отправки формы?

    you_web
    @you_web
    Кратко обо мне
    Необходимо было поменять в коде строчку

    dataType: 'json'

    На

    dataType: 'html'

    Так как ответ не приходил в виде json, а приходил в виде html
    Ответ написан
    Комментировать
  • Почему редко на сайтах применяются сложные конструкции JS+CSS3 эффекты?

    you_web
    @you_web
    Кратко обо мне

    С чем вызвано данное явление?
    Оптимизация?
    Бюджет?
    Или банальная лень?

    да да и да)

    А для чего? Долго сидя в интернете уже надоедают пёстрые и яркие сайты, с которых побыстрее охото уйти.
    Всё больше начинаешь любит спокойный флет стиль типо тостера, хабра, пикабу и т.д

    И да, много скриптов и css анимаций могут хорошо так давать нагрузку. Даже не то что у древнего компа, а просто при работе в нескольких окнах \ приложениях. Тем более современные браузеры неплохо так кушают. А если играть во что нибудь в несколько окон (сливать арену в 6 окон в wow), да еще и серфить в инете, все эти скрипты и анимации будут очень дико лагать.

    А для клиентов этого делать просто нет времени. Вот у тебя идёт поток сайтов, ты еле успеваешь правки делать. Ну сделаешь ты 1-2 клиентам такие анимации, а они этого даже не заметят, так еще и на половине устройств всё криво работать будет. А платить за это мало кто станет. Если только сайту нужно вызвать какой то wow эффект.
    Ответ написан
    1 комментарий
  • Как Toggle Class использовать в двух разных местах на одной странице (два класса - два скрипта)?

    you_web
    @you_web
    Кратко обо мне
    Сейчас вы просто написали функцию, но нет никаких условий для её выполнения
    Вам надо выбрать на какой элемент повесить событие, что бы при клике выполнялась ваша функция.
    Например:
    const btn1 = document.querySelector('.btn1');

    Далее на эту кнопку надо повесить событие click и указать какая функция должна выполняться при этом событии:

    btn1.addEventListener("click", myFunction);
    Обратите внимание, что функция в при навешивании в обработчик пишется без ().
    Ответ написан
    Комментировать
  • Не срабатывает модальное окно, как можно исправить?

    you_web
    @you_web
    Кратко обо мне
    Я скопировал ваш код, всё работает. Какая у вас ошибка в консоли?
    jquery подключен ДО этого кода?
    Ответ написан
  • Как сделать слайдер с текстом сбоку?

    you_web
    @you_web
    Кратко обо мне
    c owl carousel не работал, юзаю бутстраповскую карусель, но принцип думаю похож
    Просто внутри блока карусели верстаете что хотите
    типо:
    <div id="carousel">
    img
    h1
    input
    </div>


    Вот примеры, где в карусели целые секции:
    https://sohouser.github.io/animal/#pets
    https://sohouser.github.io/halcyon/ (в этой вообще 3 карусели с разным содержимым)
    https://sohouser.github.io/finance/ (а вот тут меняется только бэкграунд)
    Ответ написан
    Комментировать
  • Почему пропадает св-во hover?

    you_web
    @you_web
    Кратко обо мне
    5b16f00c64454612903553.png

    JS переопределяет стили
    Ответ написан
    3 комментария