2011-11-25 76 views
3

所以我想要做的就是淡出div並淡入另一個div。當我懸停一個鏈接,我想淡出prev div並淡入正確的div。除非我將鼠標懸停在鏈接上,否則一切正常。當我徘徊得太快時,div不會消失。我嘗試過使用stop(),並在stop函數上嘗試了不同的true false組合,但沒有任何效果。如果我將淡入淡出定時器更改爲0,那麼它工作。我所擁有的代碼在這裏粘貼太多了,但基本上它不是一個簡單的淡入淡出。我有一些其他的東西的淡入淡出功能纔去上被稱爲fadein/fadeout問題,試過但停止工作

這裏是我的淡入淡出功能

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

它是一個對象的內部的專用功能。我嘗試在a和/或b上使用stop(),而我仍然得到相同的結果。如果我將300更改爲0,它工作正常 任何人有任何想法?

簡化版這裏http://jsfiddle.net/LLMUX/9/

+0

你可以請添加您的HTML或甚至更好地創建一個http://jsfiddle.net/謝謝 – ManseUK

+0

添加小提琴,這是一個偉大的工具感謝分享 – Huangism

+0

你試過'停止(真,真)'? 'fadeIn' /'fadeOut'將在動畫開始時保存當前的不透明度。 – zzzzBov

回答

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(); 
     } 
    });