IE 无法识别 JQuery 内容加载

发布于 2024-12-01 16:51:13 字数 622 浏览 0 评论 0原文

我使用 JQuery 脚本来加载、隐藏和显示页面上的内容,并在内容加载到页面上时使用用户可见的 gif 文件。这适用于 Safari 和 Firefox,但不适用于 IE。用户可以看到内容加载。

感谢您提供有关如何解决此问题的任何建议。

JQuery:

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
      $("#content-loading").show();
$("#block_a").hide();
  $(window).load(function() {
    $("#block_a").show();
    $("#content-loading").hide();
  })
})
</script>

包含 gif 的 div:

<div id="content-loading">

I'm using a JQuery script to load, hide and show content on a page, with a gif file that's visible to the user while the content loads on the page. This works in Safari and Firefox but not on IE. The user can see the content loading.

Thanks for any suggestion on how to resolve this.

The JQuery:

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
      $("#content-loading").show();
$("#block_a").hide();
  $(window).load(function() {
    $("#block_a").show();
    $("#content-loading").hide();
  })
})
</script>

The div containing the gif:

<div id="content-loading">

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

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

发布评论

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

评论(2

韶华倾负 2024-12-08 16:51:13

您可能正在使用 $(document).ready 显示内容加载 gif 并隐藏 block_a。尝试将其放入页面顶部的 CSS 样式表中:

#block_a { display:none;这

将立即隐藏该块。

It might be that you're using $(document).ready to show the content-loading gif and hide the block_a. Try putting this in a CSS stylesheet at the top of your page:

#block_a { display:none; }

That will hide the block immediately.

空名 2024-12-08 16:51:13

您正在隐藏 ready 事件中的内容,该事件在加载整个文档时发生。此外,Internet Explorer 没有任何 DOMContentLoaded 事件,因此它发生的时间稍晚一些,因为 jQuery 必须使用 readyStateChange 事件。

您应该使用 CSS 隐藏内容,这样它在存在时就已经隐藏了:

<style type="text/css">
#block_a { display: none; }
</style>

您仍然可以使用 jQuery show 方法来显示 load 事件中的内容。

You are hiding the content in the ready event, which occurs when the entire document is loaded. Also Internet Explorer doesn't have any DOMContentLoaded event, so it occurs slightly later there as jQuery has to use the readyStateChange event instead.

You should hide the content using CSS instead, that way it's hidden already when it comes into existance:

<style type="text/css">
#block_a { display: none; }
</style>

You can still use the jQuery show method to show the content from the load event.

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