2014-12-27 2 views
0

у меня есть последовательность элементов, скажем:Добавить класс каждые несколько случайных элементов с JQuery

<div class="tile1"></div> 
<div class="tile2"></div> 
<div class="tile3"></div> 
<div class="tile4"></div> 

т.д.

Как бы использовать Jquery, чтобы добавить новый класс «цвет», чтобы каждый несколько случайных элементов с приращением варьируя между 2 и 6, как так:

<div class="tile1"></div> 
<div class="tile2 color"></div> 
<div class="tile3"></div> 
<div class="tile4"></div> 
<div class="tile5 color"></div> 
<div class="tile6"></div> 
<div class="tile7 color"></div> 
<div class="tile8"></div> 
<div class="tile9"></div> 
<div class="tile10"></div> 
<div class="tile11"></div> 
<div class="tile12 color"></div> 

т.д.

+0

вы можете показать нам свой код JQuery? –

ответ

0

Вам нужно смешать JQuery с простым JavaScript:

$("[class^=tile]").each(function(i,e){ 
    ranNum = Math.floor(Math.random() * (6 - 2 + 1)) + 2; 
    if((i + 1) % ranNum == 0){ 
     $(e).addClass('color'); 
    } 
}); 

Здесь мы пробегаем по плитке дивы, и если остаток номера плитки, деленный на случайное число, равен 0, мы присваиваем ему класс цвета.

JSFIDDLE

0

Это Виль л добавить случайный класс цвета ваших див, а также указательный

$("div").addClass(function(index) { 
     return "tile" + index + (Math.floor(Math.random() * 10 + 1) == 2) ? '' : 'color'; 
    });