【问题标题】:dynamic change in javascript, won't move my divjavascript中的动态变化,不会移动我的div
【发布时间】:2021-03-28 07:33:49
【问题描述】:

各位程序员大家好!

我希望能够在框中输入我希望我的 div 移动多少像素。但它不会移动,我看不出我的代码有什么问题。有眼光的人能发现问题吗?

非常感谢任何帮助!

这是目前为止的代码:

<!DOCTYPE html>
<html lang="sv">

<head>
    <meta charset="utf-8">
    <title> javascript</title>

    <style>
        #changeme {
            background-color: lightblue;
            position: absolute;
        }

    </style>

    <script>
        var $Rob = {};

        $Rob.moveUpp = 0;
        $Rob.moveLeft = 0;
        $Rob.elementid = "";


        $Rob.move = function(elementid, movex, movey)

        {
            $Rob.moveUpp = movey;
            $Rob.moveLeft = movex;
            $Rob.elementid = elementid;

            $Rob.movesoft();
        }

        $Rob.movesoft = function() {
            var elem = document.getElementById($Rob.elementid);
            if ($Rob.moveUpp > 0) {

                elem.style.top = (parseInt(elem.style.top) + 1) +
                    "px";
                $Rob.moveUpp--;

            } else if ($Rob.moveUpp < 0) {
                elem.style.top = (parseInt(elem.style.top) - 1) +
                    "px";
                $Rob.moveUpp++;
            }

            if ($Rob.moveUpp != 0) {
                setTimeout($Rob.movesoft, 100);
            }

        }

    </script>

</head>

<body>

    <h1> Dynamic changes </h1>

    <form>
        <p>Move right:</p> <input value="0" type="text" id="moveRight" />



        <p>Move down: </p> <input value="0" type="text" id="moveDown" />

        <input type="button" value="Move" onClick="$Rob.move(document.getElementById('changeme'),parseInt(document.getElementById('moveRight').value),parseInt(document.getElementById('moveDown').value));" />
    </form>

    <div id="changeme" style="top: 100px;left: 100px;"> Hello </div>

</body>

</html>

一切顺利 我喜欢 Stackoverflow 及其成员! 干杯

// 麦盖维尔

【问题讨论】:

    标签: javascript dynamic namespaces


    【解决方案1】:

    你在做:

    $Rob.move(document.getElementById('changeme'), x, y).

    当你应该做的时候:

    $Rob.move('changeme, x, y)

    因为$Rob.move 需要一个 elementID 字符串作为第一个参数,而不是实际的 HTMLElement。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-11-04
      • 2015-05-16
      • 2022-06-30
      • 2022-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多