我有一个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><
答案 0 :(得分:3)
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;
处它是静态的,您必须继续更改其中一个值。
答案 1 :(得分:1)
我不知道这是否是主要问题,但你需要将10px变成一个字符串。
obj.style.right = '10px';
左右两边。