JQuery的后备对CSS3过渡(JQuery fallback for CSS3 transiti

2019-08-18 03:26发布

我在找一个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浏览器?

Answer 1:

我想你已经有答案了,你应该使用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(这不是垃圾邮件,我只是想帮助)。



Answer 2:

交通转换jQuery的动画到CSS3动画调用和回落到普通的js不支持的浏览器。

或者可以延长$。支持检查过渡这样和使用jQuery动画当测试他们失败。



文章来源: JQuery fallback for CSS3 transition