下面的div被附加到一个 jQuery 弹出对话框,并在对话框关闭时被删除。
背后的想法是通过单击按钮来切换自动刷新图表数据。
$('<div/>', {
style: "position:absolute; top:39px; left:34px;z-index:1",
click: function(){
var imgSrc = $(this).find("img").attr('src');
if(imgSrc=="images/green-circle.png"){
imgSrc="images/black-circle.png";
//how to stop calling the refresh function? <--------------
}
else{
imgSrc="images/green-circle.png";
//Call refresh function every 60 sec
}
$(this).find("img").attr('src', imgSrc);
}
}).prepend('<img id="theImg" width="20" height="20" src="images/black-circle-md.png" />').prependTo($(divHolder).parent());
以下是如何启动和停止计时器的示例:
var timer;
function startTimer() {
timer=setInterval(function(){refreshData()},1000);
}
function stopTimer() {
learInterval(timer);
}
refreshData(){
// do some work here
}
截屏
问题是,如何在函数timer
内的点击之间保持对 var的引用click: function(){}
?因为可以有不止一个弹出对话框处于活动状态。应该可以为不同的弹出对话框独立地刷新数据。