2014-09-30 4 views
1

Самостоятельно принятый новичок здесь, надеюсь, что это будет простое решение.Выполнять анимацию последовательно вместо симулирования с помощью селектора классов

$(.classname).slideUp(); 

Когда я выполняю вышеуказанный код, все элементы одновременно выдвигаются. Вместо этого я бы хотел, чтобы они выполняли анимацию один за другим.

Любая помощь? Благодаря!

+0

'$ .each()' – melancia

+0

Убедитесь, чтобы добавить кавычки вокруг '.classname' (Classname.). – rnevius

+0

Исправлено решение Melancias, например ... $ ('. Classname'). Each (function() { $ (this) .slideUp (3000); }); Все еще выполняется анимация на элементах одновременно, а не последовательно. –

ответ

1

Попробуйте это:

var animInterval = 100; // 100ms interval between animation starts 
$('.className').each(function (i, e) { 
    setTimeout(function() { 
     $(e).slideUp(); 
    },i * animInterval); 
}); 
+0

Я попробую это сейчас и отчитаю, спасибо. –

+0

Это работало удивительно хорошо: D Параметр e является ссылкой на текущий элемент на итерации? –

+0

Да. HTML-элемент DOM, вы должны обернуть его с помощью $ (e), если вы хотите получить из него элемент jQuery. – jevgenig