setTimeout()不能正常工作

时间:2013-05-09 20:46:44

标签: javascript jquery timer scroll settimeout

我需要能够在滚动事件发生时等待一段时间。

代码:

$(window).scroll(function() 
{
    if($(window).scrollTop() + $(window).height() == $(document).height()) 
    {
       setTimeout(function (){}, 1000); //I need to be able to wait 1 second and then continue with execution...
       $(".loader").show().delay(700).fadeOut();
       $.ajax({ ///more code });
    }
});

知道可能出现什么问题吗?

为什么setTimeout()在这个特定的例子中不起作用?

3 个答案:

答案 0 :(得分:3)

setTimeout()是非阻止的。将稍后应该发生的代码移动到该空函数中。

setTimeout(function (){
    $(".loader").show().delay(700).fadeOut();
    $.ajax({ /* more code */ });
}, 1000);

答案 1 :(得分:0)

您要延迟的内容应该放在setTimeout中,如下所示 -

setTimeout(function (){
       $(".loader").show().delay(700).fadeOut();
       $.ajax({ ///more code });
}, 1000); 

答案 2 :(得分:0)

将您需要等待的代码放入设置超时功能。

$(window).scroll(function() 
{
  if(your condition) 
  {
   setTimeout(function (){
            $(".loader").show().delay(700).fadeOut();
            $.ajax({ ///more code });
            }, 1000);
   }
});