2013-12-13 2 views
0

есть проблема с этим скриптом.nth-child looping для каждого

var current = 1; 

var height = $('.title').height(); 

var numberDivs = $('.title').children().length; 

var first = $('.title div:nth-child(1)'); 

setInterval(function() { 
    var number = current * -height; 
    first.css('margin-top', number + 'px'); 
    if (current === numberDivs) { 
     first.css('margin-top', '0px'); 
     current = 1; 
    } else current++; 
}, 3000); 

Теперь он добавляет стиль css на кулак div. Я хочу, чтобы он перечислил все по одному.

ответ

0

для цикла может удовлетворить вас лучше.

var height = $('.title').height(); 

var numberDivs = $('.title').children().length; 

var first = $('.title div:nth-child(1)'); 

for(var i = 1; i <= numberDivs; i++) { 

    var number = current * -height; 

    if(i == 1) { 
     first.css('margin-top', number + 'px'); 
    } 

    if (i === numberDivs) { 
     first.css('margin-top', '0px'); 
     current = 1; 
    } 
} 

Сообщите мне, если это то, что вам нужно. Если нет, мне понадобится более подробное объяснение того, что вы пытаетесь сделать.

+0

Я пробую это, но ничего не происходит – user3097545

+0

как я могу сделать предыдущий div 0px? – user3097545

+0

Можете ли вы сообщить мне, что именно вы пытаетесь достичь? –

0

Вам придется перебирать свой селектор с .each функции из JQuery, то вы получите что-то вроде этого:

first.each(function(){ 
    this.css('margin-top', number + 'px'); 
} 
Смежные вопросы