我正在尝试进行简单的播放并暂停照片 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/