我应该使用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 */ }