我想知道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不会降低您的网站速度。错误地使用它可以。在您的代码中,您计划一次操作大约每10ms发生一次。好多啊。即使是每秒进行100次的高效操作(虽然可以做到,但您的操作还是可以忍受的,尽管它可能会更高)。

您可能不希望在示例中使用setInterval。您似乎想根据imagesmaindiv中的元素数量来更改内容。我可能会用以下三种不同的方式之一:


通过将if / else放入向imagesmaindiv中添加元素或从中删除元素的代码中
通过使用CSS,但这取决于结构
通过在imagesmaindiv上使用mutation observer,所以我仅在其内容更改时才进行工作,而不是每秒100次

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

10-13 04:51