хотя можно конечно сохранить полученный набор в переменную, а потом уже с ней работать...
Ладно, всё понятно, вопрос решен. всем спасибо! |
Цитата:
Но если это для - выполняем что-то для элементов набора, а если последний в наборе, то ... Иначе вам нужно то, что писал 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, время: 21:53. |