等待 jquery ajax 加载时在另一个 div 中显示加载消息

发布于 2024-11-09 03:58:17 字数 289 浏览 0 评论 0原文

当函数 load 被触发时,以下代码将 page-handler.php 加载到 #page 中,并在等待时显示 ajax_load。如何使 ajax_load loding-message 显示在另一个 div 中,并且在 loding 完成后消失?

function load(value) {
    $('#page').html(ajax_load);
    $("#page").load("page-handler.php", {page:value});
    return false;
}

The following code loads the page-handler.php into #page when the function load is fired and while waiting shows ajax_load. How can I make the ajax_load loding-message show in another div and of course disappear when the loding is finished?

function load(value) {
    $('#page').html(ajax_load);
    $("#page").load("page-handler.php", {page:value});
    return false;
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

月光色 2024-11-16 03:58:17

首先创建一个带有加载消息的隐藏 div:

 <div id="loading">loading...</div>

然后在您的函数中:

function load(value) {
    $('#loading').show();
    $('#page').html(ajax_load);
    $("#page").load("page-handler.php", {page:value}, function(){
            $('#loading').hide();
    });
    return false;
}

当然,如果 ajax 调用不成功,您必须采取一些措施。

You start by creating a hidden div with the loading message:

 <div id="loading">loading...</div>

Then in your function:

function load(value) {
    $('#loading').show();
    $('#page').html(ajax_load);
    $("#page").load("page-handler.php", {page:value}, function(){
            $('#loading').hide();
    });
    return false;
}

of course you have to do something about if the ajax call did not succeed.

浅唱々樱花落 2024-11-16 03:58:17
function load(value) {
    $('somediv').html(ajax_load);
    $("#page").load("page-handler.php", {page:value}, function() {
      $('somediv').empty(); // or set new contents, or hide, or whatever
    });
    return false;
}

这会将内容放入 id 为“somediv”的任何内容中。您可以使用一个类('.class')或其他几个选择器 选择你的 div。

function load(value) {
    $('somediv').html(ajax_load);
    $("#page").load("page-handler.php", {page:value}, function() {
      $('somediv').empty(); // or set new contents, or hide, or whatever
    });
    return false;
}

This will put the contents into whatever has the id 'somediv'. You can use a class ('.class') or several other selectors to choose your div.

樱花落人离去 2024-11-16 03:58:17

考虑使用 $('#selector').ajaxStart() 和 $('#selector').ajaxStop();

http://api.jquery.com/ajaxStart/

Look into using $('#selector').ajaxStart() and $('#selector').ajaxStop();

http://api.jquery.com/ajaxStart/

妥活 2024-11-16 03:58:17

在开始通话之前显示 div 并将其隐藏在回调中,例如:

function load(value) {
    $('#busydiv').show(); // shows busy indicator
    $('#page').html(ajax_load);
    $("#page").load("page-handler.php", {page:value}, function() {
         $('#busydiv').hide();
    });
    return false;
}

Show a div before starting your call and hide it in a callback, e.g.:

function load(value) {
    $('#busydiv').show(); // shows busy indicator
    $('#page').html(ajax_load);
    $("#page").load("page-handler.php", {page:value}, function() {
         $('#busydiv').hide();
    });
    return false;
}
‖放下 2024-11-16 03:58:17

所以我想这就是你想要的?

$("#anotherDiv").html(message);
$("#page").load("page-handler.php", {page:value}, function(){$("#anotherDiv").hide();});

当 ajax 加载时,这将隐藏另一个 div。

So I think this is what you want?

$("#anotherDiv").html(message);
$("#page").load("page-handler.php", {page:value}, function(){$("#anotherDiv").hide();});

That will hide the other div when ajax loads.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文