我在编写代码时遇到了问题。
我有每隔几秒更改一次元素文本的功能。
如何在不更改生成器函数代码的情况下计算该特定元素的更改?
function generator() {
number = Math.floor(Math.random() * 11);
setTimeout(function() {
setTimeout(function() {
document.getElementById("demo").innerHTML = number;
generator();
}, 2000);
})
}
generator();
<p id="demo"></p>
最佳答案
您可以创建另一个函数并将其间隔设置为 1 毫秒。然后检查之前的 innerHTML
是否与当前的 innerHTML
匹配然后增加计数。
function generator() {
number = Math.floor(Math.random() * 11);
setTimeout(function() {
setTimeout(function() {
document.getElementById("demo").innerHTML = number;
generator();
}, 2000);
})
}
generator();
let count = 0;
let elm = document.getElementById("demo");
let lastval = elm.innerHTML;
setInterval(() => {
if(elm.innerHTML !== lastval){
count++;
lastval = elm.innerHTML
console.log(count)
}
},1)
<p id="demo"></p>
关于javascript - 如何计算特定元素的文本变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55675302/