jQuery transitions or CSS?



我应该使用CSS转场还是jQuery?

我曾见过一些jQuery插件同时使用,只有在浏览器不支持CSS过渡时才使用jQuery。

这是怎么做的?

你可以用JQuery做JQuery的过渡和CSS的过渡。

你可以在用户的浏览器上运行一个检查,然后像这样做

var thing = $('#something');
var browserIsIE = function() {
    return false;
}
if ( browserIsIE() ) {
    thing.fadeOut();
}
else {
    thing.addClass('hidden');
}
CSS:

#something{
   transition: opacity 0.4s;
}
.hidden {
    opacity: none;
}

注意,这段代码实际上并没有检查浏览器版本,但它处理了如何淡出元素,你应该创建一个函数来检查你需要检查的东西!

插件可能正在检查浏览器版本。在这里查看支持CSS过渡的浏览器的概述。

如果你非常确定你的用户将使用最新版本的chrome或Mozilla或任何其他(不包括IE),那么CSS也可以考虑作为一个选项。或者你也可以使用支持IE的JQuery版本。最好的组合是使用两者的网站将给出更好的结果。

永远不要使用User Agent嗅探,而应该使用特性支持/检测。这就是上帝赋予我们现代化的意义。

Modernizr根据浏览器支持的技术为html添加CSS类。在你的CSS中,你可以这样写:

.csstransitions #myelement { /* do css3 stuff */ }

和jQuery中的

if (!$('html').hasClass('csstransitions')) { /* jQuery fallback */ }

最新更新