我在website setTimeout()
中使用以下JavaScript代码,不会延迟调用函数5
秒。
function myFunction() {
param = $('#search').val();
//alert("I am an alert box!");
if (param != "") {
$("#status").show();
//alert("Show ");
var u = 'https://graph.facebook.com/search/?callback=&limit=5&q='+param;
$("#data").empty();
alert("Wait for 5 sec?");
setTimeout(getResults(u),50000); // this line
//getResults(u);
//alert("When myFunction runs show more line 20");
$("#more").show();
}
$("#more").click(function () {
$("#status").show();
//alert("Show ");
$("#more").hide();
pageTracker._trackPageview('/?q=/more');
var u = nexturl;
getResults(u);
});
}
答案 0 :(得分:3)
您正在调用函数本身而不是传递setTimeout
函数来调用,请尝试
setTimeout(function(){
getResults(u);
},5000);//note time is in miliseconds, so 5 seconds is 5000 not 50000
而不是setTimeout(getResults(u),50000);
我创建了一个small fiddle来说明这是如何运作的。
以下是the MDN article setTimeout
。它有很好的例子说明它的工作原理。