sty*_*yke 1 javascript jquery animation frontend
可能重复:
setInterval只运行一次?
在我继续之前让我说,因为设计师的逻辑很困难,所以我感谢你承担我的无知.
我正在制作一个简单的滑块,我想这样当用户用鼠标移动图片时,程序可以记下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;
});
Run Code Online (Sandbox Code Playgroud)
pretestFunction调用setInterval,如下所示:
function pretestFunction(){
window.setInterval(testFunction(), 1000);
}
Run Code Online (Sandbox Code Playgroud)
testfunction():
function testFunction(){
console.log('1 second');
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,设置间隔功能只调用一次,而不是每秒一次,就像我试图让它做的那样.我究竟做错了什么?
window.setInterval(testFunction(), 1000);
Run Code Online (Sandbox Code Playgroud)
应该
window.setInterval(testFunction, 1000);
Run Code Online (Sandbox Code Playgroud)
在第一个中,你传递了调用 的值testFunction(恰好是undefined,但这并不重要)
在第二个你会传递值的 testFunction(即一个函数,这是你想要的.)