div的动画在悬停事件结束后不会停止

时间:2012-07-28 11:45:14

标签: jquery css

所以,这是我在社区的第一个问题。

问题:我正在尝试展示div&使用动画增加悬停div的宽度。

问题:我是通过 jquery &来实现的。 css 但是,问题在于连续悬停动画不停止。因此,一旦鼠标离开div,我想从内存中刷新上一个动画。

我搜索并找到了类似stop()的内容,但我没有得到理想的结果。

Check what i have achieved yet

提前致谢!

4 个答案:

答案 0 :(得分:4)

您应该在stop()方法之前使用animate(),请尝试以下操作:

$('#slider_thumbnail li .slide_thumb').hover(function(e){
     $(this).find('.slide_btn').stop().animate({width:240});
     $(this).find('.image-wrapper').show('slow');
 },function(e){
     $(this).find('.slide_btn').stop().animate({width:125});
     $(this).find('.image-wrapper').hide('slow');
});  

DEMO

答案 1 :(得分:1)

之前我曾使用hoverIntent插件解决此问题,但效果非常好。也许你想试试这个:

答案 2 :(得分:0)

我很欣赏这不是你想要的,但我很无聊,想要去做。

您想要的纯CSS版本(我认为):http://jsfiddle.net/fsF3W/5/

答案 3 :(得分:0)

所以,感谢大家回答&特别感谢@Raminson。

我试过读&了解stop()&最后我想出了我想要的东西

我使用了stop(true, false)

true 将删除排队的动画。 false 不会让动画跳转到结束

它有效: Demo

Jquery代码:

$('#slider_thumbnail li .slide_thumb').hover(function(e){ 

                 $(this).find('.slide_btn').stop(true, false).animate({width:240});
                 $(this).find('.image-wrapper').stop(true, false).show('slow');
             },function(e){

                 $(this).find('.slide_btn').stop(true, false).animate({width:125});
                 $(this).find('.image-wrapper').stop(true, false).hide('slow');
});​