简体   繁体   English

更改 CSS “transform” 中的 “scale” 属性

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM