Javascript SetInterval只调用一次,不知道为什么?
可能重复:Javascript SetInterval只调用一次,不知道为什么?,javascript,jquery,animation,frontend,Javascript,Jquery,Animation,Frontend,可能重复: 在我继续之前,让我说,作为一个设计师,逻辑是很难实现的,所以我感谢你容忍我的无知 我正在制作一个简单的滑块,我希望这样,当用户用鼠标移动图片时,程序可以记录mouseup()前最后一秒所覆盖的距离,这样我就可以计算图片需要移动多少才能模拟,就好像它被刷过一样 我的基本事件处理程序如下所示: $('.testdiv').mousedown(function(){ pretestFunction(); //mouse is pressed mousepres
在我继续之前,让我说,作为一个设计师,逻辑是很难实现的,所以我感谢你容忍我的无知 我正在制作一个简单的滑块,我希望这样,当用户用鼠标移动图片时,程序可以记录mouseup()前最后一秒所覆盖的距离,这样我就可以计算图片需要移动多少才能模拟,就好像它被刷过一样 我的基本事件处理程序如下所示:
$('.testdiv').mousedown(function(){
pretestFunction();
//mouse is pressed
mousepressed = 1;
//set first X point
prevX = event.pageX;
}).mouseup(function(){
//get stop X point
stopX = event.pageX;
mousepressed = 0;
});
pretestFunction调用setInterval,如下所示:
function pretestFunction(){
window.setInterval(testFunction(), 1000);
}
testfunction():
我的问题是set interval函数只被调用一次,而不是像我试图让它这样每秒调用一次。我做错了什么
window.setInterval(testFunction(), 1000);
应该是
window.setInterval(testFunction, 1000);
在第一种情况下,传递调用testFunction
的值(该值恰好是未定义的,但这并不重要)
在第二种情况下,您将传递testFunction
的值(即,您想要的函数)
应该是
window.setInterval(testFunction, 1000);
在第一种情况下,传递调用testFunction
的值(该值恰好是未定义的,但这并不重要)
在第二种情况下,您将传递
testFunction
(即一个函数,这就是您想要的)的值。Aha!一个小但代价高昂的错误。非常感谢。在旁注中,如何将变量传递给使用setInterval调用的函数?如果有一个函数foo采用整数参数,则可以执行以下操作:setInterval(function(){foo(42);},1000);i、 传递一个匿名函数,该函数使用您想要的值调用您的函数。啊哈!一个小但代价高昂的错误。非常感谢。在旁注中,如何将变量传递给使用setInterval调用的函数?如果有一个函数foo采用整数参数,则可以执行以下操作:setInterval(function(){foo(42);},1000);i、 e.传递一个匿名函数,该函数使用您想要的值调用您的函数。