javascript - 页面加载完成后隐藏加载图像

标签 javascript php jquery

我有 2 个 PHP 页面。用户提交表单 (form.php),结果在下一页 (results.php) 上查看。显示结果时可能会有几秒钟的延迟 - 我在结果显示的上方添加了一个标准的旋转加载器 gif(它显示了 2 个可用日期的迷你日历)。我想在日历加载后隐藏它。

这是获取日历的脚本:

$( document ).ready(function() {
$(document).on('click', '#calendar_1 .next, #calendar_2 .next', function(event){
    event.preventDefault();
    var href_link = $("#calendar_1 .next").attr("href");
    $( "#cals" ).load( href_link );
});

$(document).on('click', '#calendar_1 .prev, #calendar_2 .prev', function(event){
    event.preventDefault();
    var href_link = $("#calendar_1 .prev").attr("href");
    $( "#cals" ).load( href_link );
});

    $( "#cals" ).load( "loadCalendar.php" );
});

我在 html 中显示正在加载的 gif 和日历,如下所示:

<img id="loading_spinner" src="loading_spinner.gif">

<div id="cals"></div>

我想我需要做类似的事情:

$('#loading_spinner').hide();

隐藏 gif 图像,但我只想在日历实际加载后执行此操作。我无法确定正确的上下文或如何执行此操作,即使可能也是如此。

最佳答案

您可以向您的 load() 函数添加回调并从那里隐藏微调器。这将仅在 load() 完成执行时隐藏它。

$(document).on('click', '#calendar_1 .prev, #calendar_2 .prev', function(event){
    event.preventDefault();
    var href_link = $("#calendar_1 .prev").attr("href");

    $( "#cals" ).load( href_link, function() {
        $('#loading_spinner').hide();
    });
});

关于javascript - 页面加载完成后隐藏加载图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21127277/

相关文章:

javascript - 在 Javascript 中,为什么要写 "var QueryStringToHash = function QueryStringToHash (query) { ... }"?

javascript - 部分 API 在 NodeJS 中不起作用。我如何解决它?

php - Laravel 5 Schedular 与 Indatus 调度程序

javascript - 如何将 IRL 变量传递给 JavaScript

php - MySQL 单查询 COUNT

javascript - 具有复选框的字段集

javascript - 使用 jQuery 将工具提示添加到 DataTable 中的 TD

javascript - 未捕获的类型错误 : Cannot set property '_credentials'

javascript - JSF 中的输入文本字段验证

javascript - 我无法在输入字段上应用颜色选择器 js(jscolor.js)