IE не распознает загрузку контента JQuery - PullRequest
0 голосов
/ 29 августа 2011

Я использую сценарий 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>

Div, содержащий gif:

<div id="content-loading">

Ответы [ 2 ]

0 голосов
/ 29 августа 2011

Вы скрываете содержимое в событии ready, которое происходит при загрузке всего документа.Кроме того, Internet Explorer не имеет никакого события DOMContentLoaded, поэтому оно происходит немного позже, поскольку jQuery должен использовать вместо него событие readyStateChange.

Вместо этого вы должны скрыть содержимое с помощью CSS, чтобы оно скрывалосьуже, когда он существует:

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

Вы все еще можете использовать метод jQuery show, чтобы показать содержимое события load.

0 голосов
/ 29 августа 2011

Возможно, вы используете $(document).ready, чтобы показать gif с загрузкой содержимого и скрыть block_a. Попробуйте поместить это в таблицу стилей CSS вверху вашей страницы:

#block_a { display:none; }

Это немедленно скроет блок.

...