Ответы пользователя по тегу JavaScript
  • Что делать, если div перекрывает событие другого div'a?

    ZerdoX-x
    @ZerdoX-x
    Frontend developer influenced by web, a11y, crypto
    Добавь ещё прослушку клика на block_2 и затем вызови event.stopPropagation();

    После этого обязательно прочитай эту тему (иначе не сработает)
    Ответ написан
    Комментировать
  • Какие есть альтернативы codepen для работы с CSS?

    ZerdoX-x
    @ZerdoX-x
    Frontend developer influenced by web, a11y, crypto
    Отвечая на вопрос в названии: часто встречаю JSFiddle, repl.it и codesandbox, можете попробовать их.

    Дебаггер для css этим сервисам и не нужен, для этого есть инструменты разработчика в браузере, которым вы пользуетесь. Если вам нужны какие-то анализаторы для кода (валидаторы, форматтеры, и тд) -- это совсем другая история.

    UPDATE: Глянул сейчас. JSFiddle подсвечивает синтаксические ошибки в стилях. Если конечно это то, что вы ищете.

    А вообще советую попробовать visual studio code или другие редакторы кода. Я подобные песочницы использую только когда нужно быстро поделиться кодом с кем-то
    Ответ написан
    Комментировать
  • Вывести все числа у которых 5 делителей до 300?

    ZerdoX-x
    @ZerdoX-x
    Frontend developer influenced by web, a11y, crypto
    Занеси nums в первый по вложенности цикл. Тогда переменная будет создаваться для каждого нового проверяемого в цикле числа
    Ответ написан
    Комментировать
  • Почему не распознается переменная при ее подстановке в строку?

    ZerdoX-x
    @ZerdoX-x
    Frontend developer influenced by web, a11y, crypto
    Первый вариант правильный. Что именно у тебя возвращает undefined? Функция val()?

    Попробуй задебажить это поэтапно:
    1. Создай константу в которой будет хранится строка с нужным тебе селектором:
      const selectorString = `.c_ipt_surname${i}`
      console.log({ selectorString })

    2. Получи DOM элемент:
      const surnameElement = $(selectorString)
      console.log({ surnameElement })

    3. Получи значение, которое ввёл юзер:
      const surname = surnameElement.val()
      console.log({ surname })


    Последним пунктом я бы посоветовал выпилить jq и больше никогда им не пользоваться. Но этот пункт слишком opionated, я не стал его включать.
    Ответ написан
    4 комментария
  • Как понять нижеуказанный код Javascript?

    ZerdoX-x
    @ZerdoX-x
    Frontend developer influenced by web, a11y, crypto
    function largestOfFour(matrix) {
      let results = []; // переменная для хранения самых больших чисел из каждой строки матрицы
    
      // итерация по матрице
      for (let rowIndex = 0; i < matrix.length; i++) {
        // переменнная, в которой будет храниться самое большое число из текущей строки матрицы
        let largestNumber = matrix[rowIndex][0]; // первый элемент текущей строки в качестве значения по умолчанию
        // итерация по строке матрицы
        for (let rowElementIndex = 1; j < matrix[rowIndex].length; j++) {
          // если текущий элемент больше самого большого числа на текущем этапе итерации_
          if (arr[rowIndex][rowElementIndex] > largestNumber) {
            // самым большим числом становится текущий элемент строки матрицы
            largestNumber = arr[rowIndex][rowElementIndex];
          }
        }
        // после итерации по строке матрицы сохраняет самое большое число
        results[rowIndex] = largestNumber;
      }
      
      return results;
    }


    Этот код очень императивный, не пиши так. Ты можешь конечно разобраться как работает этот код, но самому тебе такой код не придётся писать (я надеюсь). Вот пример этой же функции, которая делает всё то же самое, но код получился гораздо лаконичнее:
    function largestOfFour(arr) {
      return arr.map((row) => Math.max(...row))
    }


    UPDATE: в комментариях под этим ответом есть обсуждение касаемо императивного кода. Отвечая автору вопроса я не имел в виду, что императивный код плохой и нельзя писать императивный код. Я имел в виду, что фронтендеру зачастую следует избегать императивности во время разработки (тем более, во время решения тривиальных задач)
    Ответ написан
    8 комментариев
  • Пропадает фоновое размытие при наведении на карточку tilt.js, что делать?

    ZerdoX-x
    @ZerdoX-x
    Frontend developer influenced by web, a11y, crypto
    Ни разу не пользовался тильдой, но на предоставленном примере для размытия используется "backdrop-filter: blur()". Этот css не поддерживается в некоторых браузерах.. штука баганая, если не изменяет память сам репортил багу в хромиум. В общем лучше не надеяться на это свойство, оно очень ненадёжное, фильтр очень часто ломается, проблема не в вашей анимации.

    mdn: https://developer.mozilla.org/en-US/docs/Web/CSS/b...
    caniuse: https://caniuse.com/css-backdrop-filter

    UPD: вижу только два варианта решения проблемы:
    1. Убрать анимацию поворота карточки при наведении на неё, оставить блюр.
    2. Убрать блюр, оставить анимацию поворота.
    Вряд-ли получится добиться желаемого результата с таким набором (а если и получится, будет работать мало где)
    Ответ написан