使用jquery悬停事件

时间:2011-05-13 13:11:16

标签: jquery hover jquery-hover

我有一个jquery悬停事件,当您将鼠标悬停在元素上时会触发该事件。麻烦的是,如果你将元素悬停在元素上多次,它会使事件排队,有时会让元素闪烁,几分钟取决于你悬停和悬停元素的速度和持续时间。我想停止事件的传播,以便排除这种排队。

$('.pui-search-item').hover( function() {
        $(this).find('.pui-actions').show('fade');
    }, function(){
        $(this).find('.pui-actions').hide('fade');

    });

我如何解决这个问题,我尝试了各种传播功能而没有效果。

提前致谢。

3 个答案:

答案 0 :(得分:7)

试试这个:

$('.pui-search-item').hover( function() {
        $(this).find('.pui-actions').stop(true, true).show('fade');
    }, function(){
        $(this).find('.pui-actions').stop(true, true).hide('fade');

    });

以下是有关stop()http://api.jquery.com/stop/

的更多信息

答案 1 :(得分:3)

在动画之前添加stop(true)函数调用,以便重置队列。

答案 2 :(得分:1)

尝试this链接。

您的实施应更改为:

$('.pui-search-item').hover(function() {
  $(this).find('.pui-actions').stop(true, true).fadeOut();
}, function() {
  $(this).find('.pui-actions').stop(true, true).fadeIn();
});