更改 CSS "transform" 中的 "scale" 属性

Change "scale" attribute in CSS "transform"

我有以下div

<div style="transform-origin: left top 0px; transform: translate3d(0px, -26px, 0px) scale(1);">

如您所见,transform 包含 scale(1)。更改 scale 值的最佳方法是什么?

感谢您的帮助。

您可以使用正则表达式(假设您的 div DOM 元素在变量 'el' 中并且想要将比例更改为 2):

el.style.transform.replace(/scale\(\d+\)/, 'scale(2)');

当然,使用 javascript。有很多方法可以做到这一点,我会使用正则表达式来做到这一点。

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;
}

或者用更少的行:

function changeScale(newScale){
    var div = document.getElementById('theID');
    div.style.transform = div.style.transform.replace(/scale\([0-9|\.]*\)/, 'scale(' + newScale + ')');
}