2017-05-24 199 views
0
var element = document.getElementById('image1'); 

function leftArrowPressed() { 
    element.style.left = parseInt(element.style.left) - 5 + 'px'; 
} 

該代碼是用箭頭鍵移動圖像。當element是一個全局變量時,它不起作用,但在它是局部變量時起作用。爲什麼?全局和局部變量問題

+1

對當前發佈的代碼的一個側面問題:爲什麼不在您的函數'leftArrowPressed()'中將變量元素作爲參數傳遞? – reporter

+0

你能告訴我如何? –

+0

'function leftArrowPressed(anObject){anObject.style.left = parseInt(anObject.style.left) - 5 +'px';} leftArrowPressed(element);' – reporter

回答

0

範圍沒有任何問題。

我沒有看到所有的代碼。我猜這是一個問題,因爲它在DOM元素不存在時被調用。

var element = document.getElementById("image1"); 

嘗試使用window.onload