jQuery (v1.6.2) 在独立版本的 IE7 和 IE8 上返回错误

发布于 2024-11-28 08:02:05 字数 1564 浏览 1 评论 0原文

我正在使用 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 集合。

我还尝试添加: 但没有成功。

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>

除了上面的脚本之外,除了 jQuery 库 (http://code.jquery.com/jquery-latest.js) 之外,该页面没有调用其他 JavaScript 代码。 pack.js)。

I am using jQuery (version 1.6.2) to generate an animation that works well on FF3+, IE9, and current versions of Chrome and Opera (still can't find older versions as standalone).

On standalone versions of IE7 and IE8 the jQuery library does not seem to function, after checking with FireBug, JScript returns the error: Invalid argument: jquery-latest.js, line 18 character 20327 which corresponds to: ?a.elem.style[a.prop]=.

I assume that this is a problem with the standalone versions of IE, but I currently have no way to check. The standalone package I am using is the http://utilu.com IE collection.

I also tried adding: <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" /> but with no success.

The jQuery code:

$(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;
  });
});

And the corresponding markup:

<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>

Other then the script above, there are no other JavaScript code being called from that page, other then the jQuery library (http://code.jquery.com/jquery-latest.pack.js).

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

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

发布评论

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

评论(1

小清晰的声音 2024-12-05 08:02:05
.animate({
    width: "500px",
    height: "auto"
}

您无法将动画设置为自动

这样做会导致 IE7/IE8 中出现错误,我刚刚测试过

如果您确实需要将动画设置为auto,则必须使用解决方法,例如我的在此处回答

.animate({
    width: "500px",
    height: "auto"
}

You can't animate to auto.

Doing that causes an error in both IE7/IE8, I just tested it.

If you do need to animate to auto, you'll have to use a workaround, like in my answer here.

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