2016-03-05 46 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

谢谢,它的工作 –