如何在开始发送请求ajax之前延迟3秒
How to delay 3 sec. before start send request ajax?
如何在启动发送请求ajax之前延迟3秒?
这意味着在ajax发送请求之前,用户必须在页面底部停留3秒。
如果用户停留在页面底部的时间少于3秒,ajax将不会发送请求。
我该如何应用此代码?
if(($(window).scrollTop() + $(window).height() == $(document).height())){
$('#loading').show();
$.ajax({
url: 'some_page.php',
type: 'POST',
data: $('#form_id').serialize(),
cache: false,
success: function(data){
$("#loading").fadeOut("slow");
$('#content_data').append(data);
}
});
return false;
}
要在三秒内启动某些东西:
var timer = setTimeout(function() {
//...your code here...
}, 3000); // 3000ms = 3 seconds
为了防止这种情况发生,在时间结束之前,这样做:
clearTimeout(timer);
在你的情况下,你会想:
在事件处理程序之外声明
timer
(我假设您的代码在某个事件处理程序中)可能将其设置为
0
以开始(0
表示"没有计时器",浏览器不允许使用0
作为setTimeout
的返回值)在您的处理程序中,在检查位置之前,使用
clearTimeout
取消任何以前的计时器如果条件为真,则使用上面的示例来安排函数在3秒内运行
然后,如果条件变为true并保持为true,ajax调用将在三秒后运行。如果它变为真,但在三秒内再次变为假,它将不会运行。
相关文章:
- jQuery延迟了ajax调用的循环
- 使用jquery延迟对象链接多个ajax调用
- jQuery通过嵌套的ajax调用延迟对象
- 延迟单击事件,直到AJAX完成
- $.ajax延迟对象
- jQuery 延迟的 AJAX 调用返回值
- 将单击事件附加到按钮或链接上的类,该按钮或链接会触发 AJAX 帖子,然后延迟并继续原始操作
- AJAX 调用和表单提交之间的延迟
- 延迟的jquery ajax请求的顺序
- 是否有一个好的图表 API,可以在滚动/缩放时使用 Ajax 延迟加载大型数据集
- 在异步代码块中处理的多个ajax延迟调用的数组,后面是同步的最终代码块
- Ajax延迟加载,手风琴按钮未激活
- jQuery ajax延迟没有正常工作
- 如何在ajax延迟对象中正确使用循环
- JQMobi + PhoneGap: Ajax延迟承诺方法不工作
- Jquery ajax延迟对象不返回值
- Ajax延迟打乱了操作顺序
- AJAX 延迟链接调用
- 麻烦的ajax延迟搜索形式
- Ajax延迟不起作用