fadein / fadeout问题,尝试停止但不起作用

时间:2011-11-25 14:51:26

标签: javascript jquery fadein fadeout

所以我想做的就是淡出一个div而淡入另一个div。当我悬停链接时,我想淡出prev div并淡入正确的div。一切正常,除非我将链接悬停在链接上太快。当我徘徊得太快时,div就不会消失。我尝试过使用stop(),并在stop函数上尝试了不同的true false组合,但没有任何效果。如果我将淡入淡出定时器更改为0则可以正常工作。我的代码太多了,不能粘贴在这里,但基本上它不是一个简单的淡入淡出/淡出。在调用淡入淡出函数之前,我还有其他一些事情正在进行中

这是我的淡入淡出功能

var fadeEffect = function (a, b) {
    $(a).fadeOut(300, function () {
        $(b).fadeIn(300);
    });
} 

它是对象内部的私有函数。我尝试在a和/或b上使用stop(),我仍然得到同样的东西。如果我将300更改为0,它可以正常工作 有人有什么想法吗?

此处的简化版http://jsfiddle.net/LLMUX/9/

1 个答案:

答案 0 :(得分:1)

我已更新您的JSFiddle - > http://jsfiddle.net/manseuk/LLMUX/11/

我所做的是将停止添加到动画的div中 - 停止重复:

   $("#vehicleSelector .vehiclesList").bind({
       mouseenter: function(event) {
          $('#vehicleSlides div, #promoSlides div').stop(true,true); // stop any running animations
           event.stopPropagation();
           sControl.timerIsOn = false;
           showSecondary(this.id)
       },
       mouseleave: function(event) {
           $('#vehicleSlides div, #promoSlides div').stop(true,true); // stop any running animations
           event.stopPropagation();
           next();
       }
   });