我有一个用户拖动鼠标时调用的函数。该函数的作用与此无关,但称为loadTiles();
我想要的是在用户拖动期间每1000毫秒调用一次该函数。但是,如果我执行以下操作,则会在整个拖动过程中不断启动setTimeout:
window.ontouchmove = function(){
setTimeout(function(){ loadTiles(); },1000);
};
有没有办法让setTimeout真正倒数1000毫秒不间断,并继续重置计数再次像setInterval
?
答案 0 :(得分:2)
您可以设置一个布尔变量以查看它是否已运行。
var isrun=false;
window.ontouchmove = function(){
if(isrun==false){
isrun=true;
setTimeout(function(){ loadTiles(); },1000);
}
};
然后在你的loadTiles函数集中,isrun在结尾处返回false