javascript - 如何计算特定元素的文本变化?

标签 javascript

我在编写代码时遇到了问题。

我有每隔几秒更改一次元素文本的功能。

如何在不更改生成器函数代码的情况下计算该特定元素的更改?

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/

相关文章:

javascript - 日期范围选择器不可点击的旧日期

javascript - 使用特定版本的 npm shrinkwrap

javascript - 为什么对这个字符串进行切片并使其成为数组会向数组的元素添加 undefined ?

javascript - Bootstrap 表 : is it possible to call the function which sorts rows by column from code (without clicking the header)

javascript - Chrome 中意外的 Javascript for 循环行为

javascript - Firefox 23 中的 QUnit 测试 : "TypeError: document.setUserData is not a function"

javascript - 用于在 React Native metro bundler 中使用动态 yarn 工作空间路径将节点模块列入黑名单的正则表达式

javascript - 调整大小的导航栏隐藏了网站内容

javascript - 如果按钮反复隐藏和显示,它会失去它的 onclick 监听器吗

javascript - Facebook Graph API 2.2 共同好友