【发布时间】:2019-03-24 07:33:48
【问题描述】:
感谢this post,如果找到了如何执行此操作,但正如您在下面的代码中看到的那样,当自上次点击后的时间大于 2 秒时,我正在尝试console.log('Done');。但是这不起作用。
var lastClick = 0;
var button_pressed = false;
let button1 = document.getElementById('button1');
let button2 = document.getElementById('button2');
button1.onclick = function() {
button_pressed = true;
CheckAnswer();
}
button2.onclick = function() {
button_pressed = true;
CheckAnswer();
}
function CheckAnswer() {
if(button_pressed === true) {
var d = new Date();
var t = d.getTime();
if(t - lastClick < 2000) {
console.log('Continue');
}
} else if (t - lastClick > 2000) {
console.log('Done');
}
lastClick = t;
}
<button id="button1">Button1</button>
<button id="button2">Button2</button>
感谢您的帮助。
【问题讨论】:
-
问题是,一旦按下按钮,button_pressed 总是为真......所以
else if (t - lastClick > 2000)将永远被检查 -
是的,就像 pim 的回答指出的那样,我的 if 语句放错了地方。
标签: javascript function date time