我在找一个jQuery / JS回退一个简单的CSS3过渡的代码。 我的JavaScript是很基本的,所以它不是容易的,我发现,写一个替换代码。 我已经签出Modernizr的,但我真的不明白了很多的文件。
这是一个使用图标transform: rotate(20deg)
上空盘旋时(这是没有问题,因为它在IE浏览器支持)。 但问题是过渡,我使用
.icon{
....other css code
-webkit-transition: all 300ms linear;
-moz-transition: all 300ms linear;
-o-transition: all 300ms linear;
-ms-transition: all 300ms linear;
transition: all 300ms linear;
}
是否有一个jQuery回退的吗? 我在想fadeIn();
但我不知道我怎么会这个代码。 这样的事情?:
<script>$(icon).hover(function (){$(icon).fadeIn("slow");}); </script>
?如何让浏览器知道这是一个后备,让他们只挑JQuery的,如果是IE浏览器?
我想你已经有答案了,你应该使用Modernizr的,它不是像你想象的复杂,有两种方式Modernizr的指定哪些是可用的功能,哪些不是,第一种是通过在一组CSS类HTML元素:
<html class="js no-flexbox canvas canvastext postmessage no-websqldatabase ... ">
如果可用,将显示的名称,如果它不存在,它会与像“无Flexbox的”一“无糖” preffix显示的名称,第二个是通过JavaScript:
if(!Modernizr.csstransitions)
Modernizr的有一组布尔变量,它可以告诉你,如果它是可用的,所以如果你想为你的动画回退我会建议你使用Modernizr的类仅适用于具有此功能的浏览器指定动画:
.csstransitions #element{
-webkit-transition: ... ;
-moz-transition: ... ;
-o-transition: ... ;
-ms-transition: ... ;
transition: ... ;
}
然后创建与Modernizr的已检查,如果该功能是可用的,如果它不是那么指定动画变量的JavaScript文件:
if(!Modernizr.csstransitions)
$("#element").hover(function(){ $(this).animate({ ... your animation ... }, 5000); });
这可能给你一个想法Modernizr的是如何工作的(我希望),无论如何,如果你有,你可以检查这个问题的博客帖子我很久以前做,它说,这样的事情有一些其他的东西像CSS3PIE(这不是垃圾邮件,我只是想帮助)。
交通转换jQuery的动画到CSS3动画调用和回落到普通的js不支持的浏览器。
或者可以延长$。支持检查过渡这样和使用jQuery动画当测试他们失败。