为了账号安全,请及时绑定邮箱和手机立即绑定

JS怎么一直在抖动

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>练习JS</title>
</head>
<style type="text/css">
    body{
        margin:0;
        padding:0;
    }
    #div1{
        width:200px;
        height:140px;
        background-color: red;
        left: -202px;
        position: relative;
    }
    #div1 span{
        width:20px;
        height: 50px;
        background: #eee;
        position: absolute;
        left: 200px;
        top:75px;
    }
</style>
<body>
<div id="div1">
    <span id="share">分享</span>
</div>
<script>
    window.onload = function(){
        var wsc = document.getElementById('div1');
        wsc.onmouseover = function(){
            startMove(0);
        }
        wsc.onmouseout = function(){
        	starMove(-200);
        }
    }
    var timer = null;
    function startMove(iTarget){
    	clearInterval(timer);
        var wsc = document.getElementById('div1');
        timer = setInterval(function(){
        	var speed = 0;
        	if(wsc.offsetLeft > iTarget){
        		speed = -10;
        	}
        		else{
        		speed=10;
        		}
        	if(wsc.offsetLeft == iTarget){
        		clearInterval(timer);
        	}
        else{
            wsc.style.left = wsc.offsetLeft + speed +'px';
        }
        },30)
    }
</script>
</body>
</html>

JS怎么一直在抖动,完全抄老师写的  可是还是一直在抖动。。。到底哪里写错的?

正在回答

4 回答

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>练习JS</title>
</head>
<style type="text/css">
    body{
        margin:0;
        padding:0;
    }
    #div1{
        width:200px;
        height:140px;
        background-color: red;
        left: -200px;
        position: relative;
    }
    #div1 span{
        width:20px;
        height: 50px;
        background: #eee;
        position: absolute;
        left: 200px;
        top:75px;
    }
</style>
<body>
<div id="div1">
    <span id="share">分享</span>
</div>
<script>
    window.onload = function(){
        var wsc = document.getElementById('div1');
        wsc.onmouseover = function(){
            startMove(0);
        }
        wsc.onmouseout = function(){
            startMove(-200);
        }
    }
    var timer = null;
    function startMove(iTarget){
        clearInterval(timer);
        var wsc = document.getElementById('div1');
        timer = setInterval(function(){
            var speed = 0;
            console.log(wsc.offsetLeft);
            console.log(iTarget);
            if(wsc.offsetLeft > iTarget){
                speed = -10;
            }else{
                console.log('出');
                speed=10;
                }

            if(wsc.offsetLeft == iTarget){
                clearInterval(timer);
            } else{
            wsc.style.left = wsc.offsetLeft + speed +'px';
        }
        },30)
    }
</script>
</body>
</html>


0 回复 有任何疑惑可以回复我~
#1

吴思超0 提问者

非常感谢!
2015-12-10 回复 有任何疑惑可以回复我~
#2

吴思超0 提问者

你好 问下我哪里写的不对?
2015-12-10 回复 有任何疑惑可以回复我~

应该是移动到span上div动吧,你这个写的是移动到div上div动,而且div都已经-200,你怎么onmouseover的

0 回复 有任何疑惑可以回复我~

你的div的css  left: -202px; 改成-200 试试 我试了下可以 你再试试

0 回复 有任何疑惑可以回复我~

兼容性问题

1 回复 有任何疑惑可以回复我~
#1

奶弟是林俊标

非常好
2015-12-15 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

JS怎么一直在抖动

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信