更改CSS3转换值
Change CSS3 Transform Value?
我有一个带有转换的css3类
.temp{
transform: rotate(45deg) scale(0.8,1.2) skew(60deg,-30deg);
}
那么我怎样才能从温度中得到和改变旋转呢?只旋转,不变换。谢谢
由于您的转换样式是在CSS中声明的,因此您必须从元素中取出计算的样式来修改它:
var temp = document.querySelector('.temp')
var styles = window.getComputedStyle(temp, null).getPropertyValue('transform');
这里的问题是,你会得到矩阵(至少是铬),类似于:
matrix(1.0555833735058735, 0.07578747639260253, 0.13126775968941418, 1.828324034537128, 0, 0)
因此,除非你想修改矩阵参数,否则我建议你通过javascript而不是CSS:来设置和修改样式
var transform = 'rotate(45deg) scale(0.8,1.2) skew(60deg,-30deg)';
temp.style.transform = transform;
现在你可以做一个字符串替换:
temp.style.transform = transform.replace(/45deg/,'90deg');
Demo(使用chrome的webkit前缀):http://jsfiddle.net/hZAvk/
var temp = document.querySelector('div')
var transform = 'rotate(45deg) scale(0.8,1.2) skew(60deg,-30deg)';
temp.style.WebkitTransform = transform;
setTimeout(function() {
temp.style.WebkitTransform = transform.replace(/45deg/,'90deg');
},1000);
.temp{
height:100px;background:red;
}
<div class="temp"></div>
我认为你做不到,你只需要替换整个值。也许可以使用字符串操作来修改
var temp = document.getElementsByClassName('temp')[0]; //this is for the first one
temp.style.transform = temp.style.transform.replace('rotate(45deg)', 'rotate(75deg)');
编辑:David是对的,style
中没有transform属性。他的解决方案更好,但你可能会发现这很有用。
相关文章:
- CSS3:当页面向下滚动到第一个视口时,是否可以在元素上触发转换
- css3转换和javascript出错
- 如何在不使用css转换的情况下将jQuery animate与css3属性相结合
- 由 JavaScript 控制的 CSS3 单向转换在按顺序添加/删除类时不起作用
- 将 JQuery Animation 转换为 Javascript/CSS3
- 如何将 css 像素转换为 css3 比例 (x,y)
- CSS3转换导致非常奇怪的window.scrollY行为
- CSS3转换和javascript交互
- 如何使用CSS3转换
- css3在背景图像上的转换没有'不适用于Firefox
- 更改CSS3转换值
- 添加CSS3转换浮动导航栏-JQUERY
- 添加CSS3转换展开/折叠
- 滚动条不可见,CSS3转换在MOZ中不起作用
- CSS3转换+jQuery翻转卡问题
- 类似css3转换的Javascript
- 如何在 jquery transit 中暂停和重新启动 css3 转换
- 将 css3 动画转换为画布动画的任何方法
- 使用 Javascript 的 CSS3 转换
- 为什么这个 CSS3 转换没有被触发