我试图使用jquery编辑元素的css,给它一个随机的过渡时间,然后旋转元素。
这一切在chrome中都很好,但在safari中,没有进行第一行css编辑,所以所有的转换都以预定义的速度发生。
var rspeed = (Math.random()/3)+0.6,
rtext = 'transform ' + rj + 's ease-in-out';
$('#tile').css( '-webkit-transition',rtext).css( '-moz-transition',rtext).css( '-ms-transition',rtext).css( '-o-transition',rtext).css( 'transition',rtext);
$('#tile').css( 'transform','rotateY(180deg)');
为什么第一次编辑没有在safari中应用?
编辑:下面是一个在狩猎中尝试的例子,它突出了这个问题:http://jsfiddle.net/ianbutterworth/5fnSF/30/
通过更改"all"转换而不仅仅是"transform"的设置,问题得到了解决。问题是"transform"需要-webkit等前缀。添加"全部"是的最短选项
var rspeed = (Math.random()/3)+0.6,
rtext = 'all ' + rj + 's ease-in-out';
$('#tile').css({'transition':rtext,'transform':'rotateY(180deg)'});
当你有倍数规则使用:
.css({"-webkit transition":rtext,"-moz transition":rtext,…,"transform":"rotateY(180deg)"})
不要凌驾于你的最后规则之上。