За последние 24 часа нас посетили 16926 программистов и 1180 роботов. Сейчас ищет 1601 программист ...

Добавление класса с проверкой index Each

Тема в разделе "JavaScript и AJAX", создана пользователем JonyFront, 25 авг 2021.

  1. JonyFront

    JonyFront Активный пользователь

    С нами с:
    5 июн 2016
    Сообщения:
    143
    Симпатии:
    1
    Добрый день, мне нужно динамично проверять порядковый номер всех div с классом .block, и только нужным добавлять класс add, нужные индексы в массиве arr. Div.block я добавляю динамично на ajax. Но добавлять class нужно циклично до 18-го элемента, то бишь выполнилась проверка, добавилось 3, 7, 11, 18 элементам класс add, затем если добавились новые блоки .block, и функцию опять проверяет элементы, и выдает не каждому 3-м, а только первому 3-м, первому 7, а если div.block уже больше 18, то проверка заново, то бишь опять первый 3, 7 и т.д циклично
    Я написал такую функцию, но отрабатывает не правильно, почему-то выдает первому 3-му правильно, а далее не пойми как... Подскажите пожалуйста что не так делаю? заранее спасибо!
    Код (Javascript):
    1. function updateClass(){
    2.   var content = $('.block'), arr = [3, 7, 11, 18];
    3.   if(content .length > 0){
    4.     content .each(function(index, element) {
    5.       if(arr.indexOf( index ) != -1){
    6.         $(this).addClass('add');
    7.       }
    8.     });
    9.   }
    10. }
     
  2. JonyFront

    JonyFront Активный пользователь

    С нами с:
    5 июн 2016
    Сообщения:
    143
    Симпатии:
    1
    Может кто-то помочь на платной основе? Если да, то какая цена?
     
  3. musicman3

    musicman3 Активный пользователь

    С нами с:
    30 июн 2019
    Сообщения:
    144
    Симпатии:
    12
    Адрес:
    Дыра на карте
    Чтобы кто-то помог, залейте ваш рабочий/нерабочий код на https://jsfiddle.net/ хотя бы, чтобы можно было запустить весь скрипт и понять что не так и как поправить... В вашем коде не хватает как минимум разметки и возможно других частей кода... Без этого ничего не разобрать. Тут нет экстрасенсов.
     
    JonyFront нравится это.
  4. JonyFront

    JonyFront Активный пользователь

    С нами с:
    5 июн 2016
    Сообщения:
    143
    Симпатии:
    1
    https://jsfiddle.net/du4g39hL/1/ Сделал, сейчас проблема в чем:
    Первый раз добавляет как нужно 4, 8, 12, 19, а далее когда динамично добавляю новые div, то уже не добавляет, а нужно чтобы добавляло следующим новым в таком же порядке, то бишь если у нас 41 div с классом block, то скрипт добавит класс add следующим div по порядку:
    4, 8, 12, 19, 26, 30, 34, 41 и т.д по аналогии циклично до бесконечности, новый отсчет проверки идет каждые 22 div
     
  5. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    2.264
    Симпатии:
    405
    i=0;

    click

    i++;
    if(i == 22) i = 0;