繁体   English   中英

setInterval在页面更改后正在运行

[英]setInterval is running after the page is change

我的函数有问题,页面更改后,函数继续运行,但出现错误,我该如何停止它,谢谢

 componentDidMount() {
    var current = 0;
    var slides = document.getElementsByClassName("j1");

    setInterval(function() {
          let rec = window.location.href;
          rec = rec.split('/');
          console.log(rec);

          for (var i = 0; i < slides.length; i++) {
            slides[i].style.opacity = 0;
            for (var j = 0; j < 10000; j++) {
              let k = j;
            }

          }
          current = (current != slides.length - 1) ? current + 1 : 0;
          slides[current].style.opacity = 1;

    }, 5000);
    } 

您必须注销间隔。 像这样:

class Example extends React.Component {
  componentDidMount() {
    this.timer = window.setInterval(function() {
      ....
    }, 5000);
  }

  componentWillUnmount() {
    window.clearInterval(this.timer);
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM