2012-09-03 28 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; –