jQuery (v1.6.2) возвращает ошибки в автономных версиях IE7 и IE8 - PullRequest
0 голосов
/ 07 августа 2011

Я использую jQuery (версия 1.6.2) для создания анимации, которая хорошо работает на FF3 +, IE9 и текущих версиях Chrome и Opera (все еще не могу найти более старые версии как отдельные).

В автономных версиях IE7 и IE8 библиотека jQuery, похоже, не работает, после проверки с помощью FireBug JScript возвращает ошибку: Invalid argument: jquery-latest.js, line 18 character 20327, что соответствует: ?a.elem.style[a.prop]=.

Я предполагаю, что это проблемас автономными версиями IE, но в настоящее время у меня нет возможности проверить.Я использую автономный пакет http://utilu.com IE collection.

Я также попытался добавить: <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />, но безуспешно.

Код jQuery:

$(document).ready(function(){
  $("nav menu a").click(function(){
    var oArticle = $("#" + $(this).attr("class"));
    oArticle.fadeIn({
      duration: 2500,
      queue: false
    }).animate({
      width: "500px",
      height: "auto"
    }, {
      duration: 2500,
      queue: false,
      easing: 'linear',
      complete: function(){
        $("header").css("height", oArticle.css("height"));
      }
    });
    return false;
  });
});

И соответствующая разметка:

<nav>
  <menu>
    <li><a href="about.htm" class="profile">Profile</a></li>
    <li><a href="contact.htm" class="contact">Contact</a></li>
    <li><a href="projects.htm" class="projects">Project Gallery</a></li>
    <li><a href="resources.htm" class="resources">Resources</a></li>
  </menu>
</nav>

Кроме сценария выше, с этой страницы не вызывается другой код JavaScript, кроме библиотеки jQuery (http://code.jquery.com/jquery-latest.pack.js).

1 Ответ

1 голос
/ 07 августа 2011
.animate({
    width: "500px",
    height: "auto"
}

Вы не можете анимировать до auto.

. Это приводит к ошибке в IE7 / IE8, Я только что протестировал .

Если вам нужно анимировать до auto, вам придется использовать обходной путь, как в моем ответе здесь .

...