jQuery中的clearQueue

时间:2011-10-06 08:28:30

标签: javascript jquery ajax

我有一个jQuery脚本,它接受一个img src,将src放入隐藏的div中,并在悬停请求img时用动画放大img。但是,当我从img跳到img时,clearQueuestop无法正常工作。

在这个示例中,当我从img缓慢跳到另一个img时,它可以正常运行,但是当我快速跳转时,img在img和img之间的淡出越来越多。

我想要的就是能够快速或慢速地从img悬停到img,并且不会留下任何队列。

如果有人能帮助我,我会很高兴。

以下是代码:

$(document).ready(function(){
    $(".thumb").hover(function(e) {
        $('#popm').css('left',e.pageX+50);
        $('#popm').css('top', e.pageY+50);
        e.preventDefault();
        var src= $(this).attr("src");
        $('.popimg').attr({"src": src});
        $('#popm').stop().fadeIn(100);
        $('.popimg').stop()
            .animate({
                width: '145px', /* Set new width */
                height: '145px' /* Set new height */
            }, 200);
    }, function() {
        $('#popm').stop().fadeOut(100);
        $('.popimg').stop()
            .animate({          
                width: '45px', /* Set new width */
                height: '45px' /* Set new height */ 
        }, 200);
    });
});  

1 个答案:

答案 0 :(得分:1)

您可能希望.stop(true, true)而非.stop()

jQuery.stop()的文档明确指出stop有两个参数,首先是一个布尔值来清除动画队列:

  

.stop([clearQueue,] [jumpToEnd])

     

clearQueue - 一个布尔值,指示是否也删除排队的动画。默认为false。

     

jumpToEnd - 一个布尔值,指示是否立即完成当前动画。默认为false。