运行一次后如何停止setTimeout?

时间:2019-06-11 17:08:42

标签: javascript

我有这个循环倒计时,但是我希望它从7到4并保持在4而不循环。所以4将保留并可见,此后什么也不会发生。

<div id="dcontent" style="width:100%; background-color: #E2E2FC; padding-left: 5px"></div>

<script type="text/javascript">
  var mycontent = new Array()
  mycontent[0] = 'Jetzt schnell sein! Nur noch 7 Artikel verfügbar!'
  mycontent[1] = 'Jetzt schnell sein! Nur noch 6 Artikel verfügbar!'
  mycontent[2] = 'Jetzt schnell sein! Nur noch 5 Artikel verfügbar!'
  mycontent[3] = 'Jetzt schnell sein! Nur noch 4 Artikel verfügbar!'

  var i = 0

  function altercontent() {
    dcontent.innerHTML = mycontent[i];
    i = (i == mycontent.length - 1) ? 0 : i + 1
    setTimeout("altercontent()", 1000)
  }

  window.onload = altercontent
</script>

1 个答案:

答案 0 :(得分:0)

使用类似

  

var yourInterval = setInterval(fn,time);

以及在某些条件下(例如if(i <4)

)的以下运行语句
  

clearInterval(yourInterval);

一旦遇到clearInterval(),以上将停止它;

在这里Window clearInterval() Method

了解更多信息