例如,假设我希望在某个事件发生一定次数后运行一段代码(假设在下面的示例中按下了一个按钮)。我会使用类似于 if 语句的内容吗,如下所示:
if( //certain event occurs: document.getElementById('btn').clicked == true 5 times
) {
//block of code to run if button is clicked 5 times: output in p element
}
<button id="btn" type="button">click</button>
<p></p>
如果有比 if 语句更实用的方法,我想知道,请,谢谢。但是,如果 if 语句是可行的方法(当然除非有更实用的方法),那么在每个指定的增量次数发生特定事件后,如何运行代码块?利用上面的 html 元素:
var alpha = 0;
function addition() {
alpha = alpha + 1;
return alpha;
}
document.getElementById('btn').addEventListener('click', 'get_addition');
function get_addition() {
document.getElementsByTagName('P')[0].innerHTML = addition();
if( //document.getElementById('btn').clicked == true per 5 times
) {
//block of code to run per 5 button clicks outputted in p element;
//then return to outputting values in p element rendered by addition() until next 5th iteration;
}
}
最佳答案
您可以使用带有模数运算符的数据属性来跟踪点击次数。
function get_addition () {
this.dataset.clicked = this.dataset.clicked || 0
this.dataset.clicked++
if (this.dataset.clicked%5===0) {
this.classList.add("green");
} else {
this.classList.remove("green");
}
}
document.getElementById('btn').addEventListener('click', get_addition);
.green {
background-color: green;
}
<button id="btn">Click</button>
关于javascript - 使用javascript,如何简单地表达迭代次数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46959113/