Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何延迟3秒。在开始发送请求ajax之前?_Javascript_Php_Jquery_Ajax - Fatal编程技术网

Javascript 如何延迟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',

如何延迟3秒。在开始发送请求ajax之前

这意味着在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
    取消任何以前的计时器

  • 如果条件为true,则使用上面的示例计划函数在三秒内运行


  • 然后,如果条件变为true并保持为true,ajax调用将在三秒后运行。如果在三秒内变为真,然后又变为假,则不会运行。

    使用
    setTimeout
    cleartimout
    @การกรกรกรกกกนรกี: 我认为最好是你自己学着做,这就是为什么上面是这样写的。