我想用2个按钮创建一个页面,’STAY’和’Leave’.按钮下方有一个iFrame.当页面第一次加载时,iFrame会在10秒后自动开始刷新.当用户点击STAY按钮时,它将停止刷新.之后,如果他点击LEAVE按钮,iFrame将在10秒后再次开始刷新.
我正在使用此代码:
$(document).ready(function() {
var refreshIntervalId = setInterval( "update()", 10000 );
$('#leave').click(function () {
var refreshIntervalId = setInterval( "update()", 10000 );;
})
$('#stay').click(function () {
clearInterval(refreshIntervalId);
})
});
function update(){
var url = "load.php";
$('iframe#ifrm').attr('src', url);
}
<div id="bar">
<div class= "button" id="stay">
<a>Stay</a>
</div>
<div class= "button" id="leave">
<a>Leave</a>
</div>
</div>
但它不起作用,我是否以错误的方式使用clearInterval?
解决方法:
我认为你需要在函数范围之外拉出设置间隔id.
var refreshIntervalId;
$('#leave').click(function () {
refreshIntervalId = setInterval( update, 10000 );
})
$('#stay').click(function () {
clearInterval(refreshIntervalId);
})
});
也许对refreshIntervalId变量进行一些验证检查……
if(refreshIntervalId!=null){
// Do something with the interval id
}