хотя можно конечно сохранить полученный набор в переменную, а потом уже с ней работать...
Ладно, всё понятно, вопрос решен. всем спасибо! |
Цитата:
Но если это для - выполняем что-то для элементов набора, а если последний в наборе, то ... Иначе вам нужно то, что писал Nexus. Правда уже скрытый скрывать за время Т ни к чему, корректней такая тогда запись $('div').not(':last').hide(300).end().last().hide( 300,function() .... PS. Если выполнить раз, не важно в какой последовательности, то $(selector).hide(time).last().hide(function() {....}) так как скрытый уже не будет вновь скрываться, просто функция выполнится после скрытия всех. |
Цитата:
$('div').hide(300).last().stop(true).hide(300,callback); |
Усложним задачу: а если на некоторых из этих элементов уже висят какие-то анимации (поэтому они скроются позже последнего), а колбэк надо выполнить только когда все элементы будут скрыты? ;-)
|
Белый шум, как вариант
var counter = 0, callback = () => { ++counter >= len && alert('Complete'); }, len = $('div').hide(300, callback).length; |
Цитата:
|
Цитата:
Окончательный код я сделал такой: var sel = $(".menu1 .MenuItem > div"); var i = 1; sel.slideUp(700, function(){ if (sel.length == i++) DoCallback(); }); |
var sel = $(".menu1 .MenuItem > div").slideUp(700, function(){ if (sel.last() == this) DoCallback(); }); и считать ничего не надо. |
Цитата:
|
Ну если строго так нужно, тогда да.
|
Часовой пояс GMT +3, время: 20:29. |