Top.Mail.Ru
Ответы

Не получается выбрать нечетные элементы

Код jQuery:
$('#osnova').children(':odd').each(function(){
while(true){
$(this).animate({marginTop: '+=1'}, 20);
}
})

css:
div{
display:inline-block;
}

html:

Только авторизированные пользователи могут оставлять свои ответы
Дата
Популярность
Аватар пользователя
Новичок
5лет

Как то так:

var child = $('#osnova').children(),
flt = child.filter(":even");
flt.each(function()
{
$(this).animate({marginTop: '+=100' }, 320);
});

https://jsfiddle.net/L7k9328x/

Я использовал :even, так как вы сказали "нечетные элементы", а в JS счёт начинается с нуля, получается что, :odd вопреки описанию отбирает только чётные (2,4,6 и т. д.).

Аватар пользователя
Гений
5лет

$('#osnova div:nth-child(2n - 1)').each(function() {
//
});

while true - хреновая ошибка. Даже если анимация завершится, цикл будет продолжать бегать.

Аватар пользователя
Оракул
5лет

запомни это уже: никогда не пиши конструкцию
while(true) {
до тех пор пока не выучишь оператор выхода из цикла