2016-03-05 47 views
2

請幫我建立以下邏輯, 這裏是代碼:增加變換規模由JavaScript的onclick

<button onclick="zoomin()">Zoom In</button> 

function zoomin(){ 
    var myImg = document.getElementById("img"); 
    var i = 0; 
    i++; 
    myImg.style.transform = "scale(1."+ i +")"; 
} 

但是,由於I = 0它只能一次。 請告訴我解決方案。

+2

問題是,每次運行該函數時,var'i'被設置爲0.嘗試將var'i'聲明移到該函數之外。 – magreenberg

回答

1
var i = 0; 
var myImg = document.getElementById("img"); 
function zoomin(){ 
    i++; 
    myImg.style.transform = "scale(1."+ i +")"; 
} 

聲明I = 0;外部函數將解決您的問題

+0

myImg的句柄也應該移出函數外。 – magreenberg

+0

好,但你能解釋爲什麼嗎? –

+0

爲什麼反覆聲明相同的變量並浪費計算能力。 – magreenberg

3

將變量i移出該函數,它只需要初始化一次。

var myImg = document.getElementById("img"); 
    var i = 0; 
    function zoomin(){ 


     i++; 
     myImg.style.transform = "scale(1."+ i +")"; 
    } 
+0

謝謝,它的工作 –