Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.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
通过jQuery对象查找最后一个循环_Jquery - Fatal编程技术网

通过jQuery对象查找最后一个循环

通过jQuery对象查找最后一个循环,jquery,Jquery,示例jquery。假设$cog是多个项目的缓存选择器 $cog.fadeOut('slow',function(){ alert('hey'); }) 在该示例中,of$cog是一个包含4个DOM元素的jQuery对象,上面的内容将逐个淡出每个元素,并在每次回调时触发一个警报(4个警报) 我只想在所有4个元素都完成淡出功能后调用警报 这: 运行时,将显示警报,然后$cog元素消失(我猜是由于淡出动画的计时问题) 当对jQuery对象中的多个DOM对象调用函数时,是否有办法知道最后一项何

示例jquery。假设$cog是多个项目的缓存选择器

$cog.fadeOut('slow',function(){
    alert('hey');
})
在该示例中,of$cog是一个包含4个DOM元素的jQuery对象,上面的内容将逐个淡出每个元素,并在每次回调时触发一个警报(4个警报)

我只想在所有4个元素都完成淡出功能后调用警报

这:

运行时,将显示警报,然后$cog元素消失(我猜是由于淡出动画的计时问题)


当对jQuery对象中的多个DOM对象调用函数时,是否有办法知道最后一项何时完成?

您只需将回调计算在内

试试这个:

var remaining=$cog.length;
$cog.fadeOut('slow',function(){
    if((--remaining)==0)alert('hey');
})

您可以简单地将回调计算在内

试试这个:

var remaining=$cog.length;
$cog.fadeOut('slow',function(){
    if((--remaining)==0)alert('hey');
})
试试这个例子:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
  var items = $("li");
  $("#btn").click(function() {
    (function() {
      var items = $("li");
      items.fadeOut("slow", function() {
        items = items.not(this);
        console.log(items.length);
        if (items.length == 0) {
          alert("all done");
        }
      });
    })();
  });
});
</script>
<style type="text/css">
</style>
</head>
<body>
<input type="button" id="btn" value="Fade Out">
<ul>
  <li>one</li>
  <li>two</li>
  <li>three</li>
</ul>
</body>
</html>

$(函数(){
风险值项目=$(“li”);
$(“#btn”)。单击(函数(){
(功能(){
风险值项目=$(“li”);
项。淡出(“慢”,函数(){
items=items.not(本);
console.log(items.length);
如果(items.length==0){
警报(“全部完成”);
}
});
})();
});
});
  • 一个
  • 两个
试试这个例子:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
  var items = $("li");
  $("#btn").click(function() {
    (function() {
      var items = $("li");
      items.fadeOut("slow", function() {
        items = items.not(this);
        console.log(items.length);
        if (items.length == 0) {
          alert("all done");
        }
      });
    })();
  });
});
</script>
<style type="text/css">
</style>
</head>
<body>
<input type="button" id="btn" value="Fade Out">
<ul>
  <li>one</li>
  <li>two</li>
  <li>three</li>
</ul>
</body>
</html>

$(函数(){
风险值项目=$(“li”);
$(“#btn”)。单击(函数(){
(功能(){
风险值项目=$(“li”);
项。淡出(“慢”,函数(){
items=items.not(本);
console.log(items.length);
如果(items.length==0){
警报(“全部完成”);
}
});
})();
});
});
  • 一个
  • 两个

firebug中出现了一个“剩余未定义”错误。完全按照上面的方式编写,没有输入错误?我还没有测试,但它肯定在范围内,并由callback function.ack捕获。抱歉,错过了变量声明。我对写if语句的速记方法还是有点模糊。我无法让那个特定的if语句起作用,但它确实起作用了:剩余=剩余-1;if(remaining==0){alert('hey');}一个等价的(对我来说更清晰)if语句是:if(!remaining--)alert('hey')。。。个人选择:应该是——留下来。对不起。我已经更正了代码。我在firebug中得到了一个“剩余未定义”错误。完全按照上面的方式编写,没有输入错误?我还没有测试,但它肯定在范围内,并由callback function.ack捕获。抱歉,错过了变量声明。我对写if语句的速记方法还是有点模糊。我无法让那个特定的if语句起作用,但它确实起作用了:剩余=剩余-1;if(remaining==0){alert('hey');}一个等价的(对我来说更清晰)if语句是:if(!remaining--)alert('hey')。。。个人选择:应该是——留下来。对不起。我已经更正了代码。