作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图让一个复选框在选中时执行计时事件,并在未选中时停止。它在选中时有效,但是当我取消选中它时,它只是再次执行该函数,变量变得更快。
JS代码
var money = 0;
function moneyMaker(){
money++;
document.getElementById('money').innerHTML = money;
}
function doautoMoney(){
window.setInterval(function(){
moneyMaker();
document.form.automoney.click();
//alert('Auto Saved!');
}, 1000);
}
最佳答案
使用 clearInterval()
清除未选中的间隔 并且在复选框的情况下使用 onchange
而不是 onclick
。
var money = 0;
function moneyMaker() {
money++;
document.getElementById('money').innerHTML = money;
}
var int;
function doautoMoney(chk) {
if (chk)
// store the interval reference for clearing the interval
int = window.setInterval(function() {
moneyMaker();
//document.form.automoney.click();
//alert('Auto Saved!');
}, 1000);
else
clearInterval(int)
}
Money: <span id="money">0</span>
<p>
<button onclick="moneyMaker(1)">Mine Iron!</button>
<input type="checkbox" name="automoney" onchange="doautoMoney(this.checked);">
关于javascript - 未选中时的复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37997057/
我是一名优秀的程序员,十分优秀!