javascript代码的小div为什么向上和向左移动不了
亲,你这段代码写得有点问题哦~你给元素 style 的 left/top/right/bottom 赋值都是根据相关 offsetTop、offsetLeft 来的。offsetLeft 不等于元素 style 的 left,在你举的例子里面,页面 body 默认有 margin: 8px , 初始化的时候小方块的 offsetLeft 就是 8 了。当你按下向右的按钮的时候,赋值 style.left = offsetLeft + 1 + 'px' 实际上就是 style.left = 8 + 1 + 'px' 即 style.left = '9px'。变更之后 left 为 9px,offsetLeft 为 8 + 9 = 17;此时当你按下向左的按钮的时候是赋值 style.left = offsetLeft - 1 + 'px' 即 style.left = 17 - 1 + 'px' 为 style.left = '16px',比之前的 9px 又多了 7px 呢,所以方块继续向右移动了!主要的原因还是 offsetLeft 不等于元素的 left,这里需要处理下。
赞0
踩0