Javascript 仅在最后一项完成后运行jQuery slideDown complete函数
我知道您可以将函数传递给slideUp/slideDown,该函数将在转换完成后运行:Javascript 仅在最后一项完成后运行jQuery slideDown complete函数,javascript,jquery,Javascript,Jquery,我知道您可以将函数传递给slideUp/slideDown,该函数将在转换完成后运行: $('li').slideUp({ complete: function(){ alert('done'); } }); 使用此HTML,警报将显示3次 <ul> <li>[content here]</li> <li>[content here]</li> <li>[conten
$('li').slideUp({
complete: function(){
alert('done');
}
});
使用此HTML,警报将显示3次
<ul>
<li>[content here]</li>
<li>[content here]</li>
<li>[content here]</li>
</ul>
- [此处内容]
- [此处内容]
- [此处内容]
当最后一个列表项已完成幻灯片时,是否有办法让complete
功能只启动一次?()您可以“重做”选择器并检查此
是否是最后一个:
$('li').slideUp({
complete: function(){
if($('li:last').is(this)){
alert('done');
}
}
});
小提琴:
缓存选择器会更好:
var $li = $('li');
$li.slideUp({
complete: function(){
if($li.last().is(this)){
alert('done');
}
}
});
你不能把UL的分数提高吗?我相信你必须瞄准
李:最后一个我当然可以,但效果是完全不同的@Andrépena看看这个问题:他们不会同时提高吗?卡尔的更好,忽略这个。。是(这个)
…该死,我想记住这个,+1Brilliant,谢谢,一旦系统允许,我将立即接受。我想这对:first
也一样,对吧?因为它们都是同时完成的?我想我甚至可以使用一个isCompleted
标志或者其他什么,现在我想到了…@WesleyMurch,它也应该起作用:)
var total = $('ul').size();
var i = 1;
$('li').slideUp({
complete: function () {
if (i === total) alert('done');
i += 1;
}
});