javascript - setInterval 是否会减慢我的网站速度

标签 javascript setinterval

我想知道 setInterval 是否会减慢我的网站速度?

setInterval(function(){
    var uploadbtndiv = document.getElementById("imagesmaindiv");
    if (uploadbtndiv.childElementCount == 1) {
          document.getElementsByClassName("plusupload")[0].style.top = "17px";
    }else{
          document.getElementsByClassName("plusupload")[0].style.top = "-81px";
    }

}, 10);

最佳答案

setInterval 不会降低您网站的速度。错误地使用它可以。在您的代码中,您计划大约每 10 毫秒发生一次操作。好多啊。即使是每秒执行 100 次的高效操作(您的操作效率还算可以,但还可以更高),累加起来也是如此。

您可能不希望在示例中使用setInterval。您似乎想要根据 imagesmaindiv 中有多少元素来更改某些内容的位置。我可能会通过三种不同的方式之一来做到这一点:

  • 通过将 if/else 放入向 imagesmaindiv 添加/删除元素的代码中
  • 通过使用 CSS,但取决于结构
  • 通过使用 mutation observerimagesmaindiv 上,所以我只在其内容发生变化时才进行工作,而不是每秒 100 次

关于javascript - setInterval 是否会减慢我的网站速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51463372/

相关文章:

javascript - 清除 'looped' 超时在函数中关闭 - 如何返回我能够清除它的间隔 ID

javascript - 什么时候应该使用变量与原始值?

javascript - 我可以获得有关二分搜索实现失败的反馈吗?

javascript - 过渡和自动滚动 div

javascript - 在选项卡完全关闭时保持 setInterval 运行

javascript - 当计时器为零时如何显示 div?

javascript - Facebook 如何在进入新页面时设法杀死 javascript?

javascript - 返回字符串的问题

javascript - 如何读取 '?'符号后地址栏的内容并插入值到HTML?

javascript - Collection.get 在 backbone.js 中返回未定义