我需要能够在滚动事件发生时等待一段时间。
代码:
$(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()
在这个特定的例子中不起作用?
答案 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);
}
});