在CSS“转换”中更改“scale”属性

时间:2016-05-03 06:04:35

标签: javascript scale css-transforms

我有以下div

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

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

感谢您的帮助。

2 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:1)

你可以使用一个正则表达式(假设你在变量中有你的div DOM元素&#39;并且想要将比例改为2):

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