同一个定时器第一次未运行完第二次又执行导致的定时器问题
封装的定时器,可以判断定时器是否在运行
function Interval(fn, time) {
var timer = false;
this.start = function () {
if (!this.isRunning())
timer = setInterval(fn, time);
};
this.stop = function () {
clearInterval(timer);
timer = false;
};
this.isRunning = function () {
return timer !== false;
};
}
定时器执行方法
function clock() {
GetData();
}
需要执行的函数
function GetData(self) {
name = $(self).attr("name");
title = $(self).find("span").text();
if (name == "" || name == "undefined" || name == null || name == "xifeng") {
if(int!==undefined){
int.stop();
}
dataname = "xifeng";
getManWeman();
getAgeManweman();
} else {
timestamp = new Date().getTime();
dataname = name;
getNation();
getIncome();
if(int==undefined) {
int = new Interval(clock, 10000);
int.start();
}else {
if(int.isRunning()){
int.stop();
int.start();
}else {
int.start();
}
}
}
}