javascript - 使用javascript,如何简单地表达迭代次数?

标签 javascript

例如,假设我希望在某个事件发生一定次数后运行一段代码(假设在下面的示例中按下了一个按钮)。我会使用类似于 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/

相关文章:

javascript - 如何在 jQuery 中获取按位置排序的元素列表?

javascript - 通过 JavaScript 添加列表项

javascript - 使用内联文本编辑更新数据库

javascript - 如何发送 URL 中间带有参数的 JSON 请求

javascript - 如何在 IE 7 和 6 中通过类名获取元素

javascript - 事件对象如何在此代码中工作

javascript - 将 Play Framework 参数传递给 javascript

javascript - 如何从 Backbone.js 中的现有 html 制作集合?

javascript - 检查 JQuery 中的 href 属性是否为空

javascript - jxa - 在 JavaScript 中获取 NSAttributedString 字体指标以实现自动化