Javascript .stop()不';不能使用悬停选择器
这是我的代码:Javascript .stop()不';不能使用悬停选择器,javascript,jquery,Javascript,Jquery,这是我的代码: $(function(){ $("#deals ul li ul").hover(function(){ $(this).stop().find(".trans").fadeIn("fast"); $(this).stop().find(".text").fadeIn("fast"); return false; },function(){ $(this).find(".trans").fadeOut("fast"); $(t
$(function(){
$("#deals ul li ul").hover(function(){
$(this).stop().find(".trans").fadeIn("fast");
$(this).stop().find(".text").fadeIn("fast");
return false;
},function(){
$(this).find(".trans").fadeOut("fast");
$(this).find(".text").fadeOut("fast");
});
return false;
});
当您快速悬停几次时,它将每秒加载这些操作,stop()应使其停止,但此处不起作用,任何想法都将不胜感激。需要将.stop()
放在可能已设置动画的元素上
您的ul
没有收到动画,因此.stop()
对它没有任何好处。设置动画的是.trans
和.text
元素
$(function(){
$("#deals ul li ul").hover(function(){
$(this).find(".trans").stop().fadeIn("fast");
$(this).find(".text").stop().fadeIn("fast");
return false;
},function(){
$(this).find(".trans").fadeOut("fast");
$(this).find(".text").fadeOut("fast");
});
return false;
});
是的,但它有一个法登效应的问题。问题是,当您快速悬停并再次悬停时,fadeIn效果将拒绝完全显示,它将始终在中途停止…请使用
.fadeTo(“fast”,1)
和.fadeTo(“fast”,0)
。谢谢,但这是一种更好的方式$(this)。停止(true,true);它既不好也不坏,因为它与您的问题中的代码不同。这将导致动画在开始下一个动画之前跳到当前动画的末尾。如果那是你想要的,那么当然,去做。