Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery onclick过早触发(?)_Javascript_Jquery_Setinterval_Clearinterval - Fatal编程技术网

Javascript jquery onclick过早触发(?)

Javascript jquery onclick过早触发(?),javascript,jquery,setinterval,clearinterval,Javascript,Jquery,Setinterval,Clearinterval,我有以下脚本-我有一个菜单,当用户单击“关于”时,菜单消失,出现一些动画div,当用户单击任何我希望动画div消失的地方,菜单重新出现。 动画将以x=setinterval(blabla)重新启动,并应随文档停止。如果x不是0,请单击任意位置 问题是,它会显示一秒钟,并在单击“关于”后立即停止 jsfiddle- 在这里: 如何使其工作?从\about单击处理程序发出事件.stopPropagation(),以确保单击事件不会冒泡到文档对象 $('#about').click(function(

我有以下脚本-我有一个菜单,当用户单击“关于”时,菜单消失,出现一些动画div,当用户单击任何我希望动画div消失的地方,菜单重新出现。 动画将以x=setinterval(blabla)重新启动,并应随文档停止。如果x不是0,请单击任意位置

问题是,它会显示一秒钟,并在单击“关于”后立即停止

jsfiddle-

在这里:


如何使其工作?

\about
单击处理程序发出
事件.stopPropagation()
,以确保
单击
事件不会冒泡到
文档
对象

$('#about').click(function(e){
   e.stopPropagation();
   // ...
   return false;
});

返回false==e.stopPropagation()+e.preventDefault()对不起,我不明白您的解决方案问题看起来是由于点击事件冒泡到您的文档对象。上面的解决方案添加了代码来防止这种行为。上面的
/…
指的是您当前的代码。顺便说一句,你的小提琴坏了(至少对我来说)。嗯,奇怪,我可以运行它np:|是的,我现在理解你了,现在当我点击我的菜单时会重新出现,但动画不会停止,就像间隔没有被清除一样。就像doc.click只运行我放在里面的部分代码。。。顺便说一句,如果我运行clearInterval(refreshId);在控制台中,它返回未定义,而不是tru\fal,奇怪,不是吗??
$('#about').click(function(e){
   e.stopPropagation();
   // ...
   return false;
});