【问题标题】:how to stop setinterval function when an if statment is true [duplicate]当if语句为真时如何停止setinterval函数[重复]
【发布时间】:2020-05-24 16:30:42
【问题描述】:

我创建了一个将元素移动 1 px 的函数,并使用 setInterval 以特定时间重复此代码:

var Elementt = document.querySelector('.h');
var left = 0;
var speed = 100;
var limit = 10;

setInterval(function MoveByOnepixel() {
    if (left > limit ){

    } else {
        Elementt.style.left = left + 'px';
        left++;
    }
 }, speed);

问题是当 Left > limit 是 setinterval 停止还是要不停地重复?

如果它重复当 if 语句为真时我如何停止它?

【问题讨论】:

    标签: javascript if-statement animation jquery-animate break


    【解决方案1】:

    你可以使用 setTimeout 代替

    function MoveByOnepixel() {
        Elementt.style.left = left + 'px';
        left++;
    
        if (left < limit) {
            setTimeout(MoveByOnepixel, speed);
        }
    }
    
    setTimeout(MoveByOnepixel, speed);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-21
      • 2014-06-18
      • 2021-05-16
      • 2010-12-22
      • 1970-01-01
      相关资源
      最近更新 更多