如何用jQuery显示"忙"指标?

Ton*_*ony 77 javascript jquery

如何在网页中的特定点显示旋转的"忙"指示符?

我想在Ajax请求开始/完成时启动/停止指示符.

它真的只是显示/隐藏GIF动画的问题,还是有更优雅的解决方案?

Rod*_*igo 92

你可以只显示/隐藏一个gif,但你也可以将它嵌入到ajaxSetup中,因此它会在每个ajax请求中被调用.

$.ajaxSetup({
    beforeSend:function(){
        // show gif here, eg:
        $("#loading").show();
    },
    complete:function(){
        // hide gif here, eg:
        $("#loading").hide();
    }
});
Run Code Online (Sandbox Code Playgroud)

需要注意的是,如果你想在没有加载微调器的情况下执行特定的ajax请求,你可以这样做:

$.ajax({
   global: false,
   // stuff
});
Run Code Online (Sandbox Code Playgroud)

这样我们以前的$ .ajaxSetup就不会影响请求了global: false.

更多详细信息,请访问:http://api.jquery.com/jQuery.ajaxSetup

  • 如果您正在寻找匆忙使用的GIF,请参阅:http://ajaxload.info/ (7认同)
  • 为ajaxSetup()+1。如果给出有关`global`属性的进一步解释,将是比较好的选择。 (2认同)

Sea*_* W. 37

jQuery文档建议执行以下操作:

$( document ).ajaxStart(function() {
  $( "#loading" ).show();
}).ajaxStop(function() {
  $( "#loading" ).hide();
});
Run Code Online (Sandbox Code Playgroud)

其中#loading包含忙碌指示符的元素在哪里.

参考文献:


Ell*_*ott 10

我倾向于像其他人所说的那样显示/隐藏IMG.我找到了一个很好的网站,生成"加载GIF"

链接 我只是把它放在一个div默认隐藏display: none;(css)然后当你调用函数显示图像时,一旦它完全隐藏它.


Cha*_*ell 6

是的,这只是显示/隐藏GIF动画的问题.

  • 同意.显示/隐藏图像很容易被所有浏览器理解.有一些jquery旋转插件用于图像,但这些插件不适用于所有浏览器. (2认同)

kob*_*obe 5

我在我的项目中做到了,

制作一个 div ,背景 url 为 gif ,这只是动画 gif

<div class="busyindicatorClass"> </div>

.busyindicatorClass
{
background-url///give animation here
}
Run Code Online (Sandbox Code Playgroud)

在您的 ajax 调用中,将此类添加到 div 中,并在 ajax 成功时删除该类。

它会做到这一点。

如果您需要其他信息,请告诉我,我可以为您提供更多详细信息

在 ajax 成功中删除该类

success: function(data) {
    remove class using jquery
  }
Run Code Online (Sandbox Code Playgroud)