SetTimeout功能没有发生

时间:2015-11-17 11:54:20

标签: javascript jquery jquery-ui javascript-events

在a.js文件中 我有一个名为

的函数
Move(coordinates,callback) {
//Move the cursor from point A to point B based on the coordinates as parameter
});

在b.js文件中 我正在调用此函数,因为我希望每30秒后光标移动缓慢。 这是电话。

for(i=0;i<6;i++)
{
setTimeout(Move(inputcordinates,events = {
  //someevents
}),30000);
}

问题是当页面加载时,函数正在执行并且光标已经移动了6次到该位置, 延迟不会发生在我眼前,但功能肯定会执行。

上面显示的代码中可能存在什么问题。 我将代码增加到大约120000仍然没有效果。

2 个答案:

答案 0 :(得分:4)

这是因为你直接调用你的函数。你必须这样写:

setTimeout(function() {
    Move(inputcordinates,events = {
       //someevents
    });
}, 30000)

答案 1 :(得分:0)

您也可以使用setInterval,这很容易实现和清除 请尝试以下..

 var i = 0;
 var myVar;
        function getData() {

            myVar = setInterval(function () { Move(x,y)() }, 2000);

        }
        function Move(coordinates,callback){
            i++;
            alert('Hi');
            if (i == 5) {
                alert('5 times');
                clearInterval(myVar);
            }

        }