javascript - 无法清除setInterval

标签 javascript jquery html audio

有人可以帮我清除下面的代码中的SetInterval。我已经累了window.clearInterval(intervalListener)其不起作用。

    <audio id="audio1" controls="controls" ontimeupdate="init(this.currentTime)"; style="display:block;">
    <source src="Audio.mp3" type="audio/mpeg">
    <source src="Audio.ogg" type="audio/ogg">
    <embed height="50" width="100" src="Audio.mp3"></embed>
    </audio>

    function init(val)
    {
    var audio=document.getElementById('audio1');

    if(val==2)
    {
    var a=0;
    intervalListener = self.setInterval(function()

    {
        alert(a);
        if(a===8)
        {
          window.clearInterval(intervalListener);
        }
        a++;
    }, 1000);



    }

    }

最佳答案

尝试在函数外部声明intervalListener:

var intervalListener;

function init(val) {
    var audio=document.getElementById('audio1');

    if(val==2) {
        var a=0;
        intervalListener = self.setInterval(function(){
            alert(a);
            if(a===8){
                window.clearInterval(intervalListener);
            }
            a++;
        }, 1000);
    }
}

关于javascript - 无法清除setInterval,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16539372/

相关文章:

java - Spring MVC 将对象传递给 JSP 并返回

javascript - Controller 和 HTML 之间的 AngularJs ng-model 延迟

javascript - 显示一个值或另一个值,具体取决于它是否存在

javascript - 如何正确组合正则表达式和替换。单词大写的方法

javascript - 扩展类并在父类中使用类属性

javascript - 我可以向 XMLHttpRequest.send() 传递什么样的参数?

jquery - 为什么 IE 和 Ajax 有这么多问题?

javascript - 我将所有内容都保存在外部 .js 文件中。但并非所有功能都在每个页面上使用。这会影响速度吗?

php - http中的嵌套参数是什么?

javascript - JS/HTML -- 动态创建带有选项的选择元素