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