2017-05-24 298 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