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.传递一个匿名函数,该函数使用您想要的值调用您的函数。