IE7、IE8 和 IE9 中的 jQuery 旋转图像问题

Posted

技术标签:

【中文标题】IE7、IE8 和 IE9 中的 jQuery 旋转图像问题【英文标题】:jQuery Rotate Image Issues in IE7, IE8 and IE9 【发布时间】:2011-12-06 07:39:51 【问题描述】:

我在这里使用这个 jQuery Rotate 插件:

http://code.google.com/p/jqueryrotate/

该插件应该可以在 IE7、IE8、IE9 等中完美地旋转图像。我可以毫无问题地旋转图像:

http://jsfiddle.net/zmpdS/101/

但是,我在链接两个函数 .rotate()(由插件提供)和 .animate()(在 jQuery 核心中提供)时遇到了问题

问题是上面列出的jQuery Rotate 插件使用RVML 在IE8 和IE7 中旋转图像,而在其他浏览器中它是CSS3 旋转。因此,对于RVML,DOM 被操纵,新的RVML 标签不支持.animate() 功能。

有出路吗?

 $(window).load(function() 

     $("#test").rotate(
         angle: 0,
         animateTo: -90,
         duration: 2000,
         easing: $.easing.EaseOutQuint
     ).animate(
         height: "128px",
         width: "128px"
     , 1000);

 );

【问题讨论】:

No cmets Jasdeep....这正是您所需要的...如果有帮助请接受 我不确定这是否可行。您是否考虑过将 IE7/IE8 抛在脑后;给他们旋转而不是动画? 人们必须停止尝试给旧版浏览器(IE7 绝对不可能,IE8 也应该如此)“华丽的效果”。这些浏览器的 JS 和渲染引擎非常慢,以至于它会降低整个 UX,而不仅仅是效果。这正是 Modernizr 的目的所在。 @Adam - 2 年前,当我发布这个问题时,IE7 和 8 都得到了很好的采用,而 IE9 是热门的新事物。我终于继续离开 IE7 和 IE8 不做动画,只对旋转感到满意。 @JasdeepSingh - 哇,这出现在我今天的问题列表的顶部,因为它最近被编辑过,我什至没有注意到......我的脸是红的。 :S 【参考方案1】:

看看这个

http://jsfiddle.net/zmpdS/103/

$(window).load(function() 

    $("#test").rotate(
        angle: 0,
        animateTo:180,
        callback: function()   
            $("#test").animate(
                height: "128px",
                width: "128px"
            , 1000);
        
     )

);

【讨论】:

感谢Wasim,但我想让.animate().rotate() 同时运行。现在它在除IE 之外的所有其他浏览器上都运行良好

以上是关于IE7、IE8 和 IE9 中的 jQuery 旋转图像问题的主要内容,如果未能解决你的问题,请参考以下文章

ie7、ie8 和 ie9 的最佳占位符 polyfil 脚本 [关闭]

JavaScript:如果它处于 IE7 或 IE8 兼容模式,我可以检测到 IE9 吗?

JS代码判断IE6,IE7,IE8,IE9!

使用“X-UA-Compatible”模拟IE7 for IE8但不适用于IE9

JS代码判断IE6,IE7,IE8,IE9!

为啥以下创建 DOM 元素的方式不适用于 IE7 和 IE8 中的 jQuery?