JavaScript:为什么这个简单的动画测试不起作用?

时间:2015-02-26 10:06:52

标签: javascript animation

<p id="test">Test</p>
<button onclick="move(getElementById(" test "))">click me</button>

function move(elem) {
    var lft = 0;

    function anim() {
        lft++
            elem.style.left = lft + "px";
        if (lft == 100) {clearInterval(myVal);}

        }

    var myVal = setInterval(function(){anim()}, 500);

    }

我只是想让“测试”文字在屏幕上移动。这不起作用。

http://jsfiddle.net/qfovLayv/2/

1 个答案:

答案 0 :(得分:2)

left属性仅适用于定位元素

定位元素位于position属性的值不是static的位置。

static是默认值,您尚未对其进行更改。

position设置为fixedrelativeabsolute,具体取决于您的实际需求。


此外,如果您使用"标记属性值的结尾,则下一个"将结束属性值。

onclick="move(getElementById("

如果要在此类值中使用"字符作为数据,则必须使用字符引用:&#34;

您可以改用'


此外,您的ID中没有任何空格,因此您在传递给getElementById的字符串中不应有任何空格。