在对元素使用hover后,如果触发的是一个动画效果,鼠标多次在元素上划过则会多次触发动画,这样在鼠标离开后,动画还会反复多次的执行。jquery提供了一个专门的stop函数来停止正在执行的动画,并触发新的动画而不会反复执行。
示例如下:
$(".c_slideitem").hover(function() { var _this = $(this).find(".j-box"); _this.stop(true).animate({ "margin-top": "0px" }, 200); }, function() { var _this = $(this).find(".j-box"); _this.stop(true).animate({ "margin-top": "150px" }, 500); });