Jquery FadeIn FadeOut不断重复

时间:2011-07-30 18:54:43

标签: javascript jquery css

这是我的代码:

$('.class').fadeOut(function(){
    $('#image').fadeIn().delay(1000).fadeOut(); 
});
它消失了,等待一秒然后淡出。但随后又重复了一遍。

编辑1:它也只做了四次。

编辑2: .class适用于四个元素。

5 个答案:

答案 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文件未被引用两次或您的事件连接两次。
之前有同样的问题,发现我的页面中引用了两次文件。