jquery移入移出效果切换,防止切换多次执行

admin2020-06-05973

我们要做的是这么一个效果,当鼠标移入class为sli2-info的div时,该div高度发生变化,代码如下。

$('.sli2-info').hover(function(){
    $(this).animate({height:"100%"});
},function(){
    $(this).animate({height:"35%"});
});

但这样有一个问题,切换效果实现了,但是如果把鼠标快速移动移入多次,即便最后移开鼠标了,切换效果还是会继续下次,直到鼠标移动的次数完成。

解决方法是在执行效果变化前,使用stop()停止正在运行的效果,这样就会只执行最后一次设置的效果了。

代码如下:

$('.sli2-info').hover(function(){
    $(this).stop().animate({height:"100%"});
},function(){
    $(this).stop().animate({height:"35%"});
});


网友评论