Javascript 结束JQuery事件冒泡
这真的很简单。。。但由于某种原因,我不能让它工作。 下面的JQuery只是通过单击为sideNav栏上的选择设置背景动画。 但是,如果我们要在半秒/秒范围内单击多个项目,则会有多个项目发生动画。(因此看起来像是同时选择了多个项目。)Javascript 结束JQuery事件冒泡,javascript,jquery,event-handling,jquery-animate,jquery-events,Javascript,Jquery,Event Handling,Jquery Animate,Jquery Events,这真的很简单。。。但由于某种原因,我不能让它工作。 下面的JQuery只是通过单击为sideNav栏上的选择设置背景动画。 但是,如果我们要在半秒/秒范围内单击多个项目,则会有多个项目发生动画。(因此看起来像是同时选择了多个项目。) event.stopPropogation()应该取消动画事件,不是吗? 如果没有,我如何解决这个问题 $('.sidebar nav ul li').not('.user').click(function(event){ event.stopPropagati
event.stopPropogation()
应该取消动画事件,不是吗?
如果没有,我如何解决这个问题
$('.sidebar nav ul li').not('.user').click(function(event){
event.stopPropagation();
$('.sidebar nav ul li').css('background-size', '15px');
$('.sidebar nav ul li').removeClass('active');
$(this).animate({
'background-size': '100%'
}, 500);
setInterval(function(){
$(this).addClass('active');
return true;
},501);
});
stopPropagation
的作用与它听起来的完全一样,它阻止事件向上传播到DOM中较高的父元素。它不会停止动画,这将是
stop()
stopPropagation
的作用与它听起来的完全一样,它阻止事件向上传播到DOM中较高的父元素。它不会停止动画,这将是
stop()
如果是动画,您应该更喜欢event.stop()而不是event.stopPropagation()。希望对您有所帮助。如果是动画,您应该更喜欢event.stop()而不是event.stopPropagation()。希望有帮助。显而易见。谢谢你的帮助!成功了。我现在尽量不在CSS3中使用JQuery动画,这真的让我感到很尴尬。太明显了。谢谢你的帮助!成功了。我现在尽量不在CSS3中使用JQuery动画,这真的让我很困惑。
$('.sidebar nav ul li').not('.user').click(function(){
$('.sidebar nav ul li').stop(true, true)
.css('background-size', '15px')
.removeClass('active');
$(this).animate({
'background-size': '100%'
}, 500, function() {
$(this).addClass('active');
});
});