Reputation: 2506
I have the following div
<div style="transform-origin: left top 0px; transform: translate3d(0px, -26px, 0px) scale(1);">
As you can see, transform
contains scale(1)
. What's the best way to change scale
value?
Thank you for your help.
Upvotes: 3
Views: 7770
Reputation: 3364
You could use a regular expression (assumed you have your div DOM element in a variable 'el' and want to change scale to 2):
el.style.transform.replace(/scale\(\d+\)/, 'scale(2)');
Upvotes: 0
Reputation: 6012
Sure, using 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 + ')');
}
Upvotes: 8