2016-05-03 7 views
0

ich folgendes divChange "Skala" -Attribut in CSS "transformieren"

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

haben Wie Sie sehen können, enthält transformscale(1). Was ist der beste Weg, um den Wert scale zu ändern?

Vielen Dank für Ihre Hilfe.

Antwort

3

Sicher, mit Hilfe von JavaScript. Es gibt viele Möglichkeiten, es zu tun, ich würde es mit einem Regex tun.

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; 
} 

Oder mit weniger Zeilen:

function changeScale(newScale){ 
    var div = document.getElementById('theID'); 
    div.style.transform = div.style.transform.replace(/scale\([0-9|\.]*\)/, 'scale(' + newScale + ')'); 
} 
+0

Dies funktioniert gut, danke! : D –

+0

@AndiPavllo Großartig :) –

1

Sie können einen regulären Ausdruck verwenden (vorausgesetzt Sie Ihr div DOM-Element in einer Variable 'el' und wollen Skala bis 2 ändern):

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