悬停后停止jquery动画

时间:2012-06-11 08:44:58

标签: jquery

如何在不完全破坏它的情况下停止排队动画...我尝试使用.stop()如下所示,但它似乎只是在非常奇怪的时间停止动画然后不再重新开始。

$('.work_tile').hover(function() {
    $(this).stop().find('.white_bkd').stop().fadeIn('fast');
    $(this).stop().children('div.arrow').stop().animate({
        "left": "+=305px"
    }, "fast");
    $(this).stop().children('div.tile_header').stop().animate({
        "right": "+=200px"
    }, "fast");
}, function() {
    $(this).stop().find('.white_bkd').stop().fadeOut('fast');
    $(this).stop().children('div.arrow').stop().animate({
        "left": "-=305px"
    }, "fast");
    $(this).stop().children('div.tile_header').stop().animate({
        "right": "-=200px"
    }, "fast");

})​

1 个答案:

答案 0 :(得分:0)

请尝试以下代码。希望它能奏效。

$('.work_tile').hover(  
     function() {
     $(this).stop(true,false).find('.white_bkd').stop(true,true).fadeIn('fast');
     $(this).stop(true,false).children('div.arrow').stop(true,true).animate({"left": "+=305px"}, "fast");
     $(this).stop(true,false).children('div.tile_header').stop(true,true).animate({"right": "+=200px"}, "fast");

     },

     function() {$(this).stop(true,false).find('.white_bkd').stop(true,true).fadeOut('fast');     
     $(this).stop(true,false).children('div.arrow').stop(true,true).animate({"left": "-=305px"}, "fast");
     $(this).stop(true,false).children('div.tile_header').stop(true,true).animate({"right": "-=200px"}, "fast");

     })