Изображения IE7 исчезают при загрузке YUI с сервера - PullRequest
4 голосов
/ 04 мая 2011

Я создал простой сайт, используя YUI для создания хороших галерей анимированных изображений. Все браузеры работают нормально, но IE7. Я загружаю YUI с серверов Yahoo как рекомендовано. Когда я загружаю страницу в первый раз (или нажимаю F5, чтобы обновить), все изображения исчезают, как только вызывается событие onload. Даже если я вообще не выполняю javascript и не использую библиотеку YUI - все мои теги img пропали и не видны. Однако я все еще могу получить к ним доступ с помощью своего кода JavaScript, и это не нарушает мой код и не вызывает исключений.

Эта проблема также частично связана с CSS - если вы попытаетесь закомментировать тег стиля, изображения больше не исчезают.

Это части исходного кода, которые до сих пор составляют веб-страницу, которая повторяет эту проблему:

<!DOCTYPE html>
<html>
<head lang="en">
  <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
  <title>Title</title>
<style type="text/css">
body, div, table {font-family:Arial,Helvetica,Garuda,sans-serif; color:#777; font-size:14px;}
table {padding:0; margin:0; border-spacing:0;}
td {padding:0; margin:0}
img {border-style:none; padding:0}

#div-main {margin:0 auto; width:970px; position:relative; overflow:hidden}

#div-main-content {position:relative;}
#table-page-content {width:100%; height:374px;}
#td-main-image {vertical-align:top; width:609px; height:374px; padding:0px;}
img.img-main {width:609px; height:374px;}
#td-main-text {vertical-align:top; text-align:left; padding-right:40px;}

#div-gallery-container {width:609px; height:374px; overflow:hidden; position:relative;}
#div-gallery-content {position:absolute; top:0; left:0;}
#div-gallery-content div {width:609px; height:374px;}
#div-gallery-content img {width:609px; height:374px}

</style>
</head>
<body>
  <div id="div-main">

    <div id="div-main-content">
      <table id="table-page-content">
        <tr>
          <td id="td-main-text">
            some text
          </td>
          <td id="td-main-image" rowspan="1">
            <div id="div-gallery-container">
              <div id="div-gallery-content">
              <div><img src="images/slideshow-01.jpg" class="img-main" alt="image" /></div>
              <div><img src="images/slideshow-02.jpg" class="img-main" alt="image" /></div>
              <div><img src="images/slideshow-03.jpg" class="img-main" alt="image" /></div>
              <div><img src="images/slideshow-04.jpg" class="img-main" alt="image" /></div>
              <div><img src="images/slideshow-05.jpg" class="img-main" alt="image" /></div>
              <div><img src="images/slideshow-06.jpg" class="img-main" alt="image" /></div>
              <div><img src="images/slideshow-07.jpg" class="img-main" alt="image" /></div>
              <div><img src="images/slideshow-08.jpg" class="img-main" alt="image" /></div>
              <div><img src="images/slideshow-09.jpg" class="img-main" alt="image" /></div>
              <div><img src="images/slideshow-10.jpg" class="img-main" alt="image" /></div>
              </div>
            </div>
          </td>
        </tr>
      </table>
    </div>
  </div>
  <script src="http://yui.yahooapis.com/2.8.2r1/build/yahoo-dom-event/yahoo-dom-event.js" type="text/javascript"></script>
  <script src="http://yui.yahooapis.com/2.8.2r1/build/animation/animation-min.js" type="text/javascript"></script>
</body>
</html>

Пожалуйста, помогите мне решить эту проблему.

1 Ответ

0 голосов
/ 28 мая 2011

Похоже, что проблема hasLayout возникла в браузере IE7, вы используете стандартные решения для решения этой проблемы,

Проверьте тег IMG и проверьте LayoutProperties, если он равен 0, то hasLayout появился на уровне IMG, затемприменить ширину: 1% или масштаб: 1 или высоту: 1%

Если проблема не устранена, попробуйте применить тот же стиль к родительскому элементу

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...