clearInterval对我不起作用

clearInterval doesn't work for me

本文关键字:不起作用 clearInterval      更新时间:2023-09-26
var waveTimes = 0;
var detectInterval = setInterval(function(){
    if(parseInt($(".people").css("top")) > 420){
        var waveInterval = setInterval(peopleWave,300);
        clearInterval(detectInterval);
    }
},300);
function peopleWave(){
    waveTimes += 1;
    if(waveTimes == 6){
        clearInterval(waveInterval);
    }
    var pic1 = "images/index/wave1.png";
    var pic2 = "images/index/wave2.png";
    if($(".wave img").attr("src") == pic1){
        $(".wave img").attr("src",pic2);
    } else {
        $(".wave img").attr("src",pic1);
    }
}

它说 peopleWave 运行 6 次后找不到 waveInterval,我该如何解决?

在匿名函数之外定义waveInterval,以便peopleWave可以访问它:

var waveTimes = 0,
    waveInterval;
...
waveInterval = setTimeout(peopleWave, 300);