0

我有一个 div,我试图在页面加载时左右移动它,使用 js 来创建一个晃动的动作。

我的代码:

    <script type="text/javascript">
        obj = document.getElementById('hs');            
        obj.style.position='relative';  
        function goRight(){             
            obj.style.right = 10px;
            window.setTimeout(goLeft, 100);
        }
        function goLeft(){
            obj.style.left = 10px;
            window.setTimeout(goRight, 100);
        }
        window.onload =goRight;
    </script>

但它不起作用。我的 div 的 id 是hs.

html是:

            <div id="hs">
        <h1>hs</h1>
        <hr>
    </div><
4

2 回答 2

4

干得好

obj = document.getElementById('hs');
obj.style.position='relative'; 

function shake(interval) {
    obj.style.right = '10px';
    setTimeout(function(){
        obj.style.right = '0px';
    }, interval);
}

setInterval(function(){
    shake(500);
}, 1000)

您的主要问题是,在设置了右值和左值之后,您不再更改任何内容,它是静态的,left: 10px; right: 10px;您必须继续更改其中一个值。

于 2013-10-29T20:29:19.817 回答
1

我不知道这是否是主要问题,但您需要将 10px 变成一个字符串。

obj.style.right = '10px';

左右两边。

于 2013-10-29T20:28:56.803 回答