Ответы пользователя по тегу JavaScript
  • Как сдвинуть последние элементы в блоке?

    @antanol
    ну, если предположить, что кол-во областей с кругами будет масштабироваться, можно создать функцию detectAll, которая будет сама перебирать все wrap-ы, и вызывать им функцию detect:
    function detectAll(container){
      let detectedItems = document.querySelectorAll(container);
      for (let item of detectedItems){
        detect(item.classList[1]);
      }
    }
    window.onload = function () {
      detectAll(".wrap");
      window.onresize = function () {
        detectAll(".wrap");
      };
    };

    Хотя моё "classList[1]" лучше заменить чем-то, ориентирующемся на имя класса. Типа, если содержит "js-", то вызвать
    В этом случае ещё изменяется первая строка в detect:
    function detect(className) {
      const parent = document.querySelector(`.${className}`);


    Строки 11-19. Тут две проверки выполняют одно действие, т.е. можно написать вот так:
    if ((prevItem.length == 0) || (prevItem < currItem)) {
          obj.push({ a: [item] });
        } else {
          obj[obj.length - 1].a.push(item);
        }

    + таким образом мы избавимся от лишней вложенности

    Строка 29.
    Тут избыточны true и false. Само по себе равенство вернёт эти ответы.
    Т.е. вот две аналогичных переменных:
    let even = ((countPenult - countLast) % 2 == 0);

    и ваша
    let even = ((countPenult - countLast) % 2 == 0 ? true : false);
    Ответ написан
  • Почему возникает Js toLowerCase ошибка при возврате значения?

    @antanol
    Вы скобки потеряли.

    return (value.toLowerCase().indexOf(search.toLowerCase()) !== -1);
    Ответ написан
    Комментировать
  • Как сделать отображение текста и смена background DIVa при наведении на текст?

    @antanol
    Если через jQuery:

    $(document).ready(function(){    
        $(".text2").click(function(){
            $(".text1").toggle();

    сделает видимым блок с классом text1, если в css до этого задано:
    .text1{
        display: none;
    }


    поменять фон можно через:
    $(document).ready(function(){    
        $(".text2").click(function(){
            $(".text1").css({ "background-color": "#f00"});
        });
    });
    Ответ написан