这是我的代码:
$('.class').fadeOut(function(){
$('#image').fadeIn().delay(1000).fadeOut();
});
它消失了,等待一秒然后淡出。但随后又重复了一遍。
编辑1:它也只做了四次。
编辑2: .class
适用于四个元素。
答案 0 :(得分:1)
解决方案:
$('option').fadeOut().last().queue(function(){
//here fade in and out the image
}
答案 1 :(得分:0)
如果“#image”id在div元素上,则从子事件触发父事件,从而导致递归(循环)。给div他们自己的id或class。
答案 2 :(得分:0)
这是因为你的页面中有4个div元素,对于每个div元素,你告诉jquery“fadeIn,等待1和fadeout”这个元素:“$('#image')”,所以jquery这样做你提出要求。
“但我希望#image只在四个类元素消失后出现。”
var counter=0;
$('.class').fadeOut(function(){
++counter;
if(counter==4) $('#image').fadeIn().delay(1000).fadeOut();
});
答案 3 :(得分:0)
如果有四个class
元素,则$('.class').fadeOut()
函数将触发四次(请参阅http://jsfiddle.net/DrZcj/2/)。您可以将这两个函数分开,以确保只调用一次#image
函数。
可能类似于:http://jsfiddle.net/DrZcj/3/
编辑:
这是您要找的东西:http://jsfiddle.net/DrZcj/4/
答案 4 :(得分:0)
如果所有其他答案都没有解决您的问题,您需要确保您的js文件未被引用两次或您的事件连接两次。
之前有同样的问题,发现我的页面中引用了两次文件。