Javascript 若变量(或元素值)保持不变超过2秒,是否采取措施?

Javascript 若变量(或元素值)保持不变超过2秒,是否采取措施?,javascript,settimeout,Javascript,Settimeout,我有一个变量,它会自动增加直到某个值。该值根据页面上的元素数量确定。基本上我计算元素的数量,对于我找到的每个元素,我增加变量的值。这个变量的值总是不同的,有时是320,有时是512;这是随机的。但它在几秒钟内从0增加到某个数字。一旦停止增加,它将保持在该值,不再改变 如何检测此变量的值是否在2秒以上保持不变 如果检测变量的变化是不可行的,我也可以将值存储在一个隐藏的输入字段中。或者在任何其他领域。我只需要能够在变量(或元素)的值保持不变超过2秒时运行函数。 任何帮助都将不胜感激,在过去的几个小时

我有一个变量,它会自动增加直到某个值。该值根据页面上的元素数量确定。基本上我计算元素的数量,对于我找到的每个元素,我增加变量的值。这个变量的值总是不同的,有时是320,有时是512;这是随机的。但它在几秒钟内从0增加到某个数字。一旦停止增加,它将保持在该值,不再改变

如何检测此变量的值是否在2秒以上保持不变

如果检测变量的变化是不可行的,我也可以将值存储在一个隐藏的输入字段中。或者在任何其他领域。我只需要能够在变量(或元素)的值保持不变超过2秒时运行函数。

任何帮助都将不胜感激,在过去的几个小时里,我一直在尝试各种各样的事情,但运气不佳。

编辑:
哎呀,没必要投否决票,一个人能不提问题寻求帮助吗(我已经厌倦了自己的尝试,无法独自解决。
不管怎样,我试过的东西:

  • 使用settimeout查看我是否可以获得上一个值并将其与当前值进行比较,但没有按照我认为的方式进行计算
  • 在找到最后一个项目后,尝试给另一个元素指定一个特定值(“true”),但最后一个项目总是不同的,并且增加值的函数在另一个“while”中的“while”(很难解释为什么),所以我真的无法分辨最后计算的项目是哪一个
  • 尝试复制计数函数,并在开始时运行一次,以了解有多少项(并将值存储在名为“firstCounting”的变量中),然后再次运行常规计数函数,只要该函数的变量“count”与“firstCounting”的值匹配,我知道我已经到了计数的末尾。但是这个函数太大太复杂了,复制它是愚蠢的,只能看到计数器什么时候停止计数。我的代码有474行。我将它与SharePoint中的术语集和术语结合使用,但因为这个问题与JavaScript更相关,所以我将它发布在这里
  • 我尝试了事件接收器、对象观察器,任何应该“监视”变量的东西。当我使用隐藏的输入元素而不是变量时,甚至事件接收器都没有做到这一点

    • 检查一下,我希望这是您想要的

      var someValue = 1
      var prevVal = null;
      var _myInterval = setInterval(function() {
          if(prevVal == someValue) {
              console.log("No change for 2 second", someValue)
          } else {
              console.log("Value was changed between past 2 second prev: ", prevVal, " New: ", someValue)
              prevVal = someValue;
          }
      }, 2000)
      
      编辑

      使用
      var
      代替
      this

      检查输出的附加图像

      请展示您尝试过的各种方法中的一种,我们会尽力帮助您。就像这样,这是一个“给我代码”问题。您可以使用简单的设置间隔每2秒检查一次变量的值,如果在连续两次检查中变量没有改变,请采取行动。@I是说我编辑了我的问题。我不是您经常的“给我代码”这种人,只要在正确的方向上给出一个简单的提示,我也会很感激的…谢谢!这正是我所需要的。我不知道prevVal,你救了我一天。实际上,这是非常糟糕的编码风格。我不建议这样做,因为这将指向
      窗口
      ,所以你将设置一个全局变量@我的意思是好的,谢谢你指出它,如果我真的使用了一个全局变量,那么我们会注意到这一点吗?我建议使用
      null
      作为
      preVal
      的默认值,因为它被用来表示未知或缺少的值。(而且它比(空)字符串便宜)