javascript - SetInterval 只调用一次,不知道为什么?

标签 javascript jquery animation frontend

<分区>

Possible Duplicate:
setInterval only runs once?

在我继续之前,让我说作为一个设计师逻辑来的困难,所以我很感激你能忍受我的无知。

我正在制作一个简单的 slider ,我希望这样当用户用鼠标移动图片时,程序可以记下 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);
}

测试函数():

function testFunction(){
    console.log('1 second');
}

我的问题是设置间隔函数只被调用一次,而不是像我试图让它做的那样每秒调用一次。我做错了什么?

最佳答案

window.setInterval(testFunction(), 1000);

应该是

window.setInterval(testFunction, 1000);

首先,您要传递 调用 testFunction 的值(恰好是 undefined,但这并不重要)

在第二个时间里,您将传递 of testFunction 的值(即一个函数,这就是您想要的。)

关于javascript - SetInterval 只调用一次,不知道为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14663144/

相关文章:

javascript - 主干多集合全局搜索

javascript - hide div 上的传单 map

javascript - document.title 和 document.write 两者不能同时工作

iOS,如何连续动画一行 "running"("marching ants"效果)?

iphone - 没有实际调用 pushviewcontroller 的 pushviewcontroller 动画

ios - 使用 SpriteKit 制作 Logo 动画

javascript - 使用偏移分钟从 UTC 获取日期时间

Javascript 添加 e.preventDefault();编写脚本

JavaScript:将超时保存在数组中并将其全部清除

jQuery 数据表行顺序