Javascript if 语句 if (ball.style.left === '0px') {

Javascript if statement if (ball.style.left === '0px') {

我觉得问题很简单,但是我没看出来。 我只想在单击 "dice" 时将 "ball" 向左移动 132.5px,如果球向左移动 0px。

我觉得if语句是错误的!!有人可以帮助我吗?

var ball = document.getElementById('ball');
var dice = document.getElementById('dice');

function move() {
  if (ball.style.left === '0px') {
    ball.style.left = 132.5 + 'px';
  }

}

dice.onclick = move;

问题其实很简单。我在 javascript.

中编写蛇代码时遇到了它

当您想测试球的位置时,请不要使用 ball.style.left,而应使用 ball.offsetLeft

在演示中,您会注意到 ball.style.left 没有 return 任何东西,而 offsetLeft 有。只有当你想改变它的位置时才使用 ball.style.left

http://jsfiddle.net/Grimbode/3kphhcbu/

这是你应该做的。

if (ball.offsetLeft == 0) {
    ball.style.left = 132.5 + 'px';
  }

带有示例的新演示。

http://jsfiddle.net/Grimbode/3kphhcbu/1/