为什么在safari中没有应用jquery.css转换编辑,而应用.css变换编辑



我试图使用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)'});
JQuery-css编辑元素的样式属性,而不是css文件。因此,每次调用.css()时,都会覆盖上次的更改。

当你有倍数规则使用:

.css({"-webkit transition":rtext,"-moz transition":rtext,…,"transform":"rotateY(180deg)"})

不要凌驾于你的最后规则之上。

相关内容

  • 没有找到相关文章