鍍金池/ 問答/HTML/ 用setInterval寫了一個(gè)輪播圖,但是運(yùn)行一段時(shí)間后就出現(xiàn)瀏覽器崩潰情況

用setInterval寫了一個(gè)輪播圖,但是運(yùn)行一段時(shí)間后就出現(xiàn)瀏覽器崩潰情況

代碼運(yùn)行沒有報(bào)錯(cuò),在運(yùn)行一段時(shí)間后瀏覽器崩潰,具體代碼如下:

carousel(){

    let self = this;
    if(!window.timer){
      this.carouselText = "結(jié)束輪巡";
      let oLen = this.substationTree.length;
      window.timer = setInterval(() => {
        self.carouselIndex = self.carouselIndex < oLen - 1 ? self.carouselIndex + 1 : 0;
        self.$set(self.substationTree[self.carouselIndex], 'selected', true);
        self.selectedNode = Object.assign({}, self.substationTree[self.carouselIndex]);
        self.clickOnTreeNode([self.substationTree[self.carouselIndex]]);
      }, 5000);
    }else {
      this.carouselText = "開始輪巡";
      window.clearInterval(window.timer);
      window.timer = undefined;
    }
  }
回答
編輯回答
何蘇葉

上邊代碼沒有問題是正確的,我的問題是輪播之后要加載一次接線圖,一次接線圖每次輪播都會(huì)刷新導(dǎo)致內(nèi)存過大,已經(jīng)解決了

2018年7月11日 11:02
編輯回答
維他命
else {
      this.carouselText = "開始輪巡";
      window.clearInterval(window.timer);
      window.timer = undefined;
      setInterval(code, milliseconds);
    }

這一句最后一行這個(gè)定時(shí)器誰來關(guān)閉?

2017年7月24日 08:33