更改 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 + ')');
}
我有以下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 + ')');
}