.hover()函数。重置动画

时间:2013-02-18 22:20:16

标签: jquery animation hover jquery-animate

我的问题是我正在使用jquery函数'.hover()',如果我将鼠标缓慢移动到div上,它可以正常工作。当我翻开并开始快速移动鼠标指针时,动画将不会停止甚至更糟!一切都开始在页面上移动而不重置到其初始位置。

代码:

$('.popProdContainer').hover(function(e){
             $(this).find('.pdtprice').stop().animate({"left": "-=70px"}, "slow");
             $(this).find('.pdtcartBkt, .pdtcartAdd').show('slow');
         },function(e){
             $(this).find('.pdtprice').stop().animate({"left": "+=70px"}, "slow");
             $(this).find('.pdtcartBkt, .pdtcartAdd').hide('slow');
});

所以,这就是我所拥有的。试图把.animate放在后面:

.filter(':not(:animated)') 

没用。

1 个答案:

答案 0 :(得分:0)

解决了这个问题。

我希望这会对其他人有所帮助:

$('.popProdContainer').bind('mouseenter',function(){
    $('.pdtprice', this).animate({
        marginLeft: "-0.6in"
    },500);

    $('.pdtcartBkt', this).fadeIn('fast');
    $('.pdtcartAdd', this).fadeIn('fast');
}).bind('mouseleave',function(){
    $('.pdtprice', this).animate({
        marginLeft: "0.6in"
    },500);

    $('.pdtcartBkt', this).fadeOut('fast');
    $('.pdtcartAdd', this).fadeOut('fast');
});