1

我想在一个浏览器 (IE) 中禁用动画元素,
我该如何工作?
或者我怎样才能让 css3 元素在 IE 中工作?

风格=

  -webkit-animation: drop 8s cubic-bezier(0, 0, 1, 0.5) infinite;  
  -moz-animation: drop 8s cubic-bezier(0, 0, 1, 0.5) infinite;  
  -o-animation: drop 8s cubic-bezier(0, 0, 1, 0.5) infinite;  
  animation: drop 8s cubic-bezier(0, 0, 1, 0.5) infinite;
4

2 回答 2

0

你可以使用jquery

if ($.browser.msie) {
    alert('IE'); 
    // Disable Animation
    $("#element").attr('disabled', 'disabled');
}

您还可以针对特定版本的 IE,例如

if ($.browser.msie  && parseInt($.browser.version, 10) == 8) {
    alert('IE8'); 
    // Disable Animation
} else {
    alert('Non IE8');
}

编辑:正如评论者所说,这不适用于 jQuery 1.9+。如果您使用的是 1.9+,我能想到的唯一其他选择是使用插件进行浏览器检测。我使用CSS 浏览器选择器,它将浏览器特定信息作为类附加到页面的 html 标记中。从那里您可以进行更改。

使用CSS 浏览器选择器,您可以针对 ie 删除您的元素,例如

$(".ie #element").attr('disabled', 'disabled');

或者对于特定版本

$(".ie8 #element").attr('disabled', 'disabled');

其他建议是使用 jquery.support 功能。然而,这是一个内部函数,.support 文档的 jquery 明确指出“当内部不再需要特定属性时可能会删除它们”,所以我不建议使用它。

于 2013-08-11T05:15:42.373 回答
0

对于您的用例,我建议使用Modernizr。当您使用它时,它会检测您的浏览器支持的所有功能并将相关类应用于元素。

然后,您可以使用这些modernizr 类来定位您的css 类,例如,从所有不支持动画的浏览器中删除动画属性。

于 2013-08-11T05:28:58.100 回答