Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 仅在最后一项完成后运行jQuery slideDown complete函数_Javascript_Jquery - Fatal编程技术网

Javascript 仅在最后一项完成后运行jQuery slideDown complete函数

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

我知道您可以将函数传递给slideUp/slideDown,该函数将在转换完成后运行:

$('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;
    }
});