-3

当滚动事件发生时,我需要能够等待一定的时间。

代码:

$(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()在这个特定的例子中不起作用?

4

3 回答 3

3

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

setTimeout(function (){
    $(".loader").show().delay(700).fadeOut();
    $.ajax({ /* more code */ });
}, 1000);
于 2013-05-09T20:48:07.043 回答
0

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

$(window).scroll(function() 
{
  if(your condition) 
  {
   setTimeout(function (){
            $(".loader").show().delay(700).fadeOut();
            $.ajax({ ///more code });
            }, 1000);
   }
});
于 2013-05-09T20:53:06.883 回答
0

你想延迟的应该像这样放在 setTimeout 中 -

setTimeout(function (){
       $(".loader").show().delay(700).fadeOut();
       $.ajax({ ///more code });
}, 1000); 
于 2013-05-09T20:48:22.920 回答