更改“;比例尺;CSS中的属性“;变换”;

Change "scale" attribute in CSS "transform"

本文关键字:属性 变换 CSS 比例尺 更改      更新时间:2023-09-26

我有以下div

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

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

谢谢你的帮助。

当然,使用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 + ')');
}

您可以使用正则表达式(假设您的div DOM元素位于变量'el'中,并希望将小数位数更改为2):

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