2009-08-02 159 views
3

我有一個小的jQuery動畫漸漸消逝在鏈路衰落動畫的:jQuery的 - 徘徊時,懸停

$(function() { 
    $('.delete').hide(); 
    $('#photos img').hover(function() { 
    $(this).parents('li').children('.delete').fadeIn('fast'); 
    }, function() { 
    $(this).parents('li').children('.delete').fadeOut('fast'); 
    }); 
}); 

但是,如果我快速移動我的鼠標進出的形象,新的動畫總是添加到隊列中,當我停下來時,我可以看到一段時間脈動的鏈接。我嘗試使用.stop(true),但是有時候淡入效果根本不起作用(或者只是達到小於1的不透明度值)。我能做什麼?

謝謝,埃裏克

回答

4

最好的辦法是使用hoverIntent插件。這涉及上述問題。它還會給動畫添加一點點延遲,所以如果用戶碰巧快速將鼠標移動到所有鏈接上,則不會看到所有鏈接的動畫流。

2

一來防止此類問題存在的方式是結合使用的stop()與fadeTo(),如下面的代碼片段:

$(function() { 
    $('.delete').fadeTo(0, 0); 
    $('#photos img').hover(function() { 
    $(this).parents('li').children('.delete').stop().fadeTo('fast', 1); 
    }, function() { 
    $(this).parents('li').children('.delete').stop().fadeTo('fast', 0); 
    }); 
}); 

希望這能解決您的問題!