2013-03-13 2 views
0

Я использую следующий фрагмент JavaScript в своем websitesetTimeout() не задерживает вызов функции 5 секунд.setTimeout() не задерживается

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); 
    }); 
} 

ответ

2

Вы называете саму функцию вместо того, чтобы передать функцию 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. У этого есть хорошие примеры о том, как это работает.

+1

+1 для ссылки на статью MDN –

Смежные вопросы