jquery防止循环
我有一个悬停滑动面板,当鼠标离开时需要延迟。 就像我现在拥有的那样,悬停触发器将导致多个循环,因此面板会疯狂地向上和向下移动。向下。 这是代码:
$(document).ready(function(){
(function(){
var trigger = $('li.HotelPaneltrigger');
var panel = trigger.find('.panel').hide();
trigger.mouseenter(function(){panel.slideDown('slow');}).mouseleave(function(){panel.slideUp('slow');});
})();
});
我尝试过但没有成功: $(this).mouseleave(function () {
$(this).delay('500')panel.slideUp('slow');
i have a hover slide down panel which needs a delay when mouse leave.
Like i have it now, hovering the trigger will result in multiple loops, so the panel goes crazy up & down.
Here is the code:
$(document).ready(function(){
(function(){
var trigger = $('li.HotelPaneltrigger');
var panel = trigger.find('.panel').hide();
trigger.mouseenter(function(){panel.slideDown('slow');}).mouseleave(function(){panel.slideUp('slow');});
})();
});
I tried this without success:
$(this).mouseleave(function () {
$(this).delay('500')panel.slideUp('slow');
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我不太确定我是否正确,但我认为调用
.stop()
将为您做到这一点。和
参考:
.stop()
I'm not exactly sure if I get you right, but I think invoking
.stop()
will do it for you.and
Reference:
.stop()
在
slideDown
和slideUp
事件之前添加.stop(true,true)
应该可以解决您的问题,这是我的想法。Adding a
.stop(true,true)
before yourslideDown
andslideUp
event should solve your problem, off the top of my head.