2011-07-20 72 views
1

我試圖使不透明度變爲動畫。所有縮略圖的默認不透明度均爲0.8。一旦徘徊,不透明度就會增加到1,並且在另一個縮略圖懸停時應該回到0.8。使用jquery在庫中動畫活動(懸停)縮略圖不透明

我試過這段代碼:

container.delegate("a:has(img)", "mouseenter", function(e){ 
    $(e.currentTarget).stop(true, true).animate({opacity: 1}, options.thumbsopacityFadeTime); 
}).delegate("a:has(img)", "mouseout", function(e){ 
    $(e.currentTarget).stop(false, true).animate({opacity: options.thumbsOpacity}, options.thumbsopacityFadeTime); 
); 

但有時懸停的縮略圖(大部分時間)返回到默認的不透明度,即使鼠標仍然在相同的縮略圖,並具有不移動。我認爲這與當前正在運行的動畫有什麼關係,但是我認爲$(e.currentTarget)只適用於這1個縮略圖,那麼爲什麼會在該縮略圖時觸發一個鼠標移出事件我不留下縮略圖?

有關如何解決此問題的任何想法?

感謝, 韋斯利

回答

1

我才明白,你,你不希望有鼠標移開影響?只有當懸停不同的縮略圖時?

第一次嘗試應該將「mouseout」替換爲「mouseleave」。如果沒有幫助,請嘗試不同的方法:

var obj = container.find("a:has(img)"); 

obj.bind({ 
    mouseenter:function(){ 
    obj.stop().not(this).animate({opacity: options.thumbsopacity}, options.thumbsopacityFadeTime); 
    $(this).animate({opacity: 1}, options.thumbsopacityFadeTime); 
    }, 
    mouseleave:function(){ 
    // nothing :) 
    } 
}); 
+0

謝謝,這只是我需要的mouseleave。 DOH! – Wesley