[英]Change “scale” attribute in CSS “transform”
I have the following div
我有以下div
<div style="transform-origin: left top 0px; transform: translate3d(0px, -26px, 0px) scale(1);">
As you can see, transform
contains scale(1)
.如您所见, transform
包含scale(1)
。 What's the best way to change scale
value?更改scale
值的最佳方法是什么?
Thank you for your help.谢谢你的帮助。
Sure, using javascript.当然,使用javascript。 There are many ways to do it, I'd do it using a regex.有很多方法可以做到这一点,我会使用正则表达式来做到这一点。
function changeScale(newScale){
var div = document.getElementById('theID');
var curTrans = div.style.transform;
var newScaleString = 'scale(' + newScale + ')';
var regex = /scale\([0-9|\.]*\)/;
var newTrans = curTrans.replace(regex, newScaleString);
div.style.transform = newTrans;
}
Or with less lines:或者用更少的行:
function changeScale(newScale){
var div = document.getElementById('theID');
div.style.transform = div.style.transform.replace(/scale\([0-9|\.]*\)/, 'scale(' + newScale + ')');
}
您可以使用正则表达式(假设您的 div DOM 元素位于变量“el”中,并且想要将比例更改为 2):
el.style.transform.replace(/scale\(\d+\)/, 'scale(2)');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.