2013-03-18 62 views
0

对于第3秒的变量x的值为0和后3秒每当我们在3之间0并单击按钮的x值被设置为1收听变量值来改变和处理点击事件

秒,函数handleClick不应该被调用。 每当我们在3秒后点击按钮,应该调用函数handleClick。

下面是我使用的HTML和JS代码。但是,即使在3秒后,函数handleClick也不会被调用。

HTML:

<button class="quizy-mg-item">click here</button> 

JS:

var x=0; 
setTimeout(3000,function(){ 
x=1 
}) 
function handleClick(){ 
document.write("Success"); 
} 
if(x) { 
$('.quizy-mg-item').click(handleClick); 
} 

回答

2

试试这个代码,争论的

setTimeout(function() { 
    $('.quizy-mg-item').click(handleClick); 
},3000); 

function handleClick(){ 
    document.write("Success"); 
} 

你的setTimeout函数的顺序是错误的。

同样在这里,

if(x) { 
    $('.quizy-mg-item').click(handleClick); 
} 

在条件检验的内部if的时间,实际上x是0,因此没有click附加处理程序。它与以后的价值x无关。

p.s.不要使用document.write,使用console.log进行调试。

+0

没有'setTimeout'只触发一次。它的'setInterval'在每个指定的时间段之后被调用。 – Jashwant 2013-03-18 02:46:36

+0

谢谢。我明白 – user1798002 2013-03-18 02:47:33

+0

标记它的答案,如果它可以帮助你。 – Jashwant 2013-03-18 02:49:58