javascript - setInterval 只是不会随着clearInterval 停止

标签 javascript setinterval

我正在尝试进行简单的播放并暂停照片 slider ,但 setInterval 对我不起作用,任何人都可以看到我做错了什么

我希望它在单击“暂停”时停止。

$('.control').click(function() {
    var data = $(this).attr('data-id');
    var interval;

    switch (data){
        case 'play':
            console.log('play');
            interval = setInterval(slide, 2000);
            break;
        case 'pause':
            console.log('pause');
            clearInterval(interval)
            break;
        default : console.log('nothing');
    }

最佳答案

您的 interval 变量在函数内部声明,并在函数退出时消失。下次调用该函数时,它没有任何值,因此将传递 undefined 为clearInterval。在函数外部声明 interval 它应该可以工作。

关于javascript - setInterval 只是不会随着clearInterval 停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10273968/

相关文章:

javascript - ReactDOM.render 不接受 JSX

javascript - 两个定时器的同步(setInterval)

jQuery - 多个 setInterval 冲突

jquery - 在 jQuery 的 setInterval 中使用 $(this)

javascript - AngularJS +sails.js

javascript - jQuery:hasClass 部分匹配

javascript - 从 children 数组中获取特定的 child

javascript - 如果没有返回任何内容,如何将 localStorage 值设置为数字 1?

javascript - 一直运行 setInterval 不好吗?

javascript - setinterval 说没有定义函数,但它是