2012-09-03 36 views
0

请帮忙)为什么这种结构不起作用?增量只发生一次。简单的onclick事件只能工作一次

var player = document.getElementById("player"); 
var button = document.getElementById("button"); 

function moveDown(object) { 
    object.style.top += 32; 
} 

button.onclick = function() { 
    moveDown(player); 
} 
+0

[SSCCE](http://sscce.org)请。 –

回答

0

演示:http://jsfiddle.net/SrQUh/1/

var player = document.getElementById("player"); 
var button = document.getElementById("button"); 

function moveDown(object) { 
    object.style.top = parseInt(object.style.top || 0) + 32 + 'px'; 
} 

button.onclick = function() { 
    moveDown(player); 
}​ 
0

尝试使用:

object.style.top = parseInt(object.style.top, 10) + 32;

代替

object.style.top+=32;

(并确保玩家的position设置为absoluterelative

+0

没有工作。 'function moveDown(object){object_style.top = parseInt(object.style.top,10)+ 32; \t console.log(parseInt(object.style.top,10)); }' – user1642676

+0

将其更改为object.style.top = parseInt(object.style.top || 0,10)+ 32; –