手记

if语句有else与无else的区别

<!DOCTYPE html>
<head>
    <title>js速度动画</title>
    <meta charset="utf-8">
<style>
    *{
        margin:0px;
        padding:0px;
    }
    #div1{
        width:200px;
        height:200px;
        background-color:red;
        position:relative;
        left:-200px;
    }
    #div1 span{
        width:20px;
        height:50px;
        position:absolute;
        left:200px;
        top:75px;
        background-color:blue;
    }
</style>
<script>
window.onload = function(){
    var oDiv = document.getElementById('div1');
    oDiv.onmouseover = function(){
        startMove();
    }
}
var timer = null;
function startMove(){
    clearInterval(timer);
    var oDiv = document.getElementById('div1');
    timer = setInterval(function(){
        if(oDiv.offsetLeft == 0){
            clearInterval(timer);
        }else{
            oDiv.style.left = oDiv.offsetLeft+1+'px';
        }   
    },30)
}
</script>
</head>
<body>
    <div id="div1">
        <span id="share">分享</span>
    </div>
</body>
</html>

有else的时候,进入哪个语句的判断会同时进行,因此方块会在left为0时停下。而当无else的时候,即使left为0取消了定时器,下面位置改变依然会执行而且随着offsetLeft越来越大,速度会越来越快

6人推荐
随时随地看视频
慕课网APP

热门评论

写的还不错,但是有一点,为了强调代码的可读性,写手记中有代码的部分用代码的格式编写,不然就和写文本一样,很少有人会去看。

查看全部评论