我想要一个函数来设置Ajax和重载计时器.下面的代码不会破坏以前的函数调用计时器,所以每次调用它时我都会得到另一个计时器.我怎么能破坏以前的计时器?
function initNowPlayingMeta(station) {
$('#cancion').children().remove();
$('#cancion').load('sonando.php?emisora=' + station);
var prevNowPlaying = setInterval(function () {
$('#cancion').load('sonando.php?emisora=' + station);
}, 5000);
}
Run Code Online (Sandbox Code Playgroud)
Kyl*_*ild 37
您需要将定时器引用存储在局部范围之外的某处(这实际上意味着var在函数外部声明它).然后,清除它clearInterval:
var prevNowPlaying = null;
function initNowPlayingMeta(station) {
if(prevNowPlaying) {
clearInterval(prevNowPlaying);
}
$('#cancion').children().remove();
$('#cancion').load('sonando.php?emisora=' + station);
prevNowPlaying = setInterval(function () {
$('#cancion').load('sonando.php?emisora=' + station);
}, 5000);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
30236 次 |
| 最近记录: |