通过更改 CSS 移动对象

Moving object by changing CSS

我想通过更改 JavaScript 中的 CSS 值来移动对象。

我希望它在单击按钮时向左移动 10 像素。

HTML:

<button id="left" onclick="goLeft()">Left</button>
<div id="gamer">BLOCK</div>

CSS:

    #gamer{

            width:100px;
            height:50px;
            text-align: center;
            position:absolute;
            left:300px;
            top:300px;
        }

JavaScript:

function goLeft(){
            var gamer = document.getElementById("gamer");
            gamer.style.left = (parseInt(gamer.style.left) - 10) + "px";

        }

如下更改您的javascript

<script>
    function goLeft() {
        var gamer = document.getElementById("gamer");            
        gamer.style.left = (parseInt(gamer.offsetLeft, 10) - 10) + "px";

    }
</script>

offsetLeft 将为您提供当前的左侧位置。

您要使用的是 window.getComputedStyle()

function goLeft() {
   var gamer = document.getElementById("gamer");
   var computedStyle = window.getComputedStyle(gamer);
   gamer.style.left = (parseInt(computedStyle.left, 10) - 10) + "px";
}

这将为您提供元素的当前样式。

而如果您使用的是 element.style,您只会获得元素的内联样式(而不是继承或外部样式 sheet 样式),如文档中所述:https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/style.