jquery 在显示下一步之前暂停
jquery pause before displaying next step
在下一次单击按钮(游戏上下文)时,我想在显示下一个问题之前暂停以显示正确答案。我该怎么做?
我试试这个:
showCorrectAnswer();
questionCounter++;
setTimeout(displayNext(), 6000);
/* Or */
showCorrectAnswer();
questionCounter++;
wait(6000);
displayNext();
/*with wait*/
function wait(ms){
var start = new Date().getTime();
var end = start;
while(end < start + ms) {
end = new Date().getTime();
}
}
但是不起作用。
谢谢
有了 jquery,您可以使用:
$('.container').hide().delay(6000).fadeIn(displayNext());
看看这个
你犯了一个小错误 setTimeout(displayNext(),6000)
立即调用而不是你应该只传递函数名。 setTimeout(displayNext,6000)
如果你想用参数调用,确保你写成一个函数,然后把你所有的代码都放在里面setTimeout(function(){displayNext(parameter1,parameter2);},6000)
function displayNext(){
alert("display");
}
<input type="number" step="1000" id="num_milisecond" value=1000> milliseconds
<input type="button" onclick="setTimeout(displayNext, document.getElementById('num_milisecond').value);" value="click to allert">
您应该将匿名函数传递给 setTimeout()
(在其中放置超时到期时要执行的内容)或已定义函数的名称。如果你像你一样在名字后面放置 ()
,函数在解析 setTimeout()
时执行,而不是在它过期时执行,期望 运行 你的函数的结果为 return 另一个将在 setTimeout()
到期时执行的函数 - 就像匿名函数一样。
以下任何一项都将按预期工作。函数名称:
showCorrectAnswer();
questionCounter++;
setTimeout(displayNext, 6000);
...或匿名包装器:
showCorrectAnswer();
questionCounter++;
setTimeout(function(){
displayNext();
}, 6000);
在大多数现实生活场景中,建议在 displaynNext()
函数内更改 questionCounter
值,而不是之前。
在下一次单击按钮(游戏上下文)时,我想在显示下一个问题之前暂停以显示正确答案。我该怎么做? 我试试这个:
showCorrectAnswer();
questionCounter++;
setTimeout(displayNext(), 6000);
/* Or */
showCorrectAnswer();
questionCounter++;
wait(6000);
displayNext();
/*with wait*/
function wait(ms){
var start = new Date().getTime();
var end = start;
while(end < start + ms) {
end = new Date().getTime();
}
}
但是不起作用。 谢谢
有了 jquery,您可以使用:
$('.container').hide().delay(6000).fadeIn(displayNext());
看看这个
你犯了一个小错误 setTimeout(displayNext(),6000)
立即调用而不是你应该只传递函数名。 setTimeout(displayNext,6000)
如果你想用参数调用,确保你写成一个函数,然后把你所有的代码都放在里面setTimeout(function(){displayNext(parameter1,parameter2);},6000)
function displayNext(){
alert("display");
}
<input type="number" step="1000" id="num_milisecond" value=1000> milliseconds
<input type="button" onclick="setTimeout(displayNext, document.getElementById('num_milisecond').value);" value="click to allert">
您应该将匿名函数传递给 setTimeout()
(在其中放置超时到期时要执行的内容)或已定义函数的名称。如果你像你一样在名字后面放置 ()
,函数在解析 setTimeout()
时执行,而不是在它过期时执行,期望 运行 你的函数的结果为 return 另一个将在 setTimeout()
到期时执行的函数 - 就像匿名函数一样。
以下任何一项都将按预期工作。函数名称:
showCorrectAnswer();
questionCounter++;
setTimeout(displayNext, 6000);
...或匿名包装器:
showCorrectAnswer();
questionCounter++;
setTimeout(function(){
displayNext();
}, 6000);
在大多数现实生活场景中,建议在 displaynNext()
函数内更改 questionCounter
值,而不是之前。