【问题标题】:Show a busy indicator in a DIV with JQuery使用 JQuery 在 DIV 中显示繁忙指示器
【发布时间】:2012-09-28 20:33:24
【问题描述】:

我有一个动画 .gif,我想将其用作忙碌指示器。加载某些内容时将使用此繁忙指示器。

加载后,内容将显示在 div 中。在加载内容时,我希望在现有内容上基本上有一个半透明层,该层还显示我的动画 .GIF。目前,我有以下内容:

<div id="main">
  <div id="contentArea">
    Loaded content will go here
  </div>
  <input type="button" value="Load Latest Content" onclick="loadContent();" />
</div>

脚本是:

<script type="text/javascript">
  function loadContent() {
    // Show busy indicator on semi-transparent layer.
    pingWebService();
    return false;
  }
  function pingWebService() {
     $.ajax(...);
  }
  function pingWebServiceComplete() {
    // Hide busy indicator
  }
</script>

我的.ajax 电话工作正常。我只是不确定如何处理繁忙的指示器部分。

【问题讨论】:

标签: jquery css busyindicator


【解决方案1】:

JQuery 只需要显示/隐藏指示器图像,可以这样做:

$("#MyBusyElement").show();

$("#MyBusyElement").hide();

剩下的就是你的 html/css 布局了。您可以在 CSS 中使用透明度,但旧版浏览器无法正确支持此功能,因此要么使用具有透明背景的“忙碌”gif 来覆盖 div,要么在旧版浏览器中选择完全不透明的封面(我只想去吧。使用旧浏览器的人应该受苦!)

【讨论】:

  • 小心。如果您隐藏动画 gif,IE8(如果 IE9 也不知道)无法在隐藏的现在可见的 div 上显示动画。图像将静止不动。
  • @Alfabravo:你的意思是我也要支持IE?!?! ...开个玩笑,虽然我从未见过。你能制作一个 JSFiddle(或其他来源)来说明吗?
  • 我的 0.02:我有一个 web 应用程序,我在其中使用了“加载”动画 gif。它位于一个隐藏的 div 中,我根据需要将其隐藏起来。它运行良好,但 IE(我记不清是 7 还是 8)仍然显示 gif 并且客户抱怨,因为它似乎“站点已停止工作”。让我尝试构建一个 jsfiddle...
  • Alfabravo,它似乎在 ie8 中对我有用 jsfiddle.net/4AQx6/2 也许你在谈论 ie7 ?
  • 我有机会在 ie6 和 ie7 中测试它,它在 O_o 中都有效。也许你的例子是一个孤立的事件?
【解决方案2】:

很简单,就像musefan说的,只是隐藏或显示包含图像的div。这是一个人为的example

【讨论】:

    猜你喜欢
    • 2012-03-28
    • 2015-07-31
    • 1970-01-01
    • 2012-05-28
    • 1970-01-01
    • 2011-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多