Javascript 如何延迟3秒。在开始发送请求ajax之前?
如何延迟3秒。在开始发送请求ajax之前 这意味着在ajax发送请求之前,用户必须停留在页面底部3秒 若用户停留在页面底部的时间少于3秒,ajax将不会发送请求 如何应用此代码来执行此操作Javascript 如何延迟3秒。在开始发送请求ajax之前?,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,如何延迟3秒。在开始发送请求ajax之前 这意味着在ajax发送请求之前,用户必须停留在页面底部3秒 若用户停留在页面底部的时间少于3秒,ajax将不会发送请求 如何应用此代码来执行此操作 if(($(window).scrollTop() + $(window).height() == $(document).height())){ $('#loading').show(); $.ajax({ url: 'some_page.php',
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
取消任何以前的计时器然后,如果条件变为true并保持为true,ajax调用将在三秒后运行。如果在三秒内变为真,然后又变为假,则不会运行。使用
setTimeout
和cleartimout
@การกรกรกรกกกนรกี: 我认为最好是你自己学着做,这就是为什么上面是这样写的。