導航欄切換導航條的移動

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>導航條滑動</title>
    <style>
        *{
            padding: 0;
            margin: 0;
        }
        .box{
            width: 1049px;
            margin: 20px auto;
            position: relative;
            background-color: #333131;
        }
        ul{
            overflow: hidden;
        }
        ul li{
            float:left;
            list-style: none;
            width: 130px;
            height: 40px;
            border-right: 1px solid white;
            text-align: center;
            line-height: 40px;
          font-size: 14px;
            color: white;
        }
        #nav-bar{
            width: 132px;
            height:5px;
            background-color: #ee372a;

            position: absolute;
            bottom: 0;
            left: 0;
        }

    </style>
</head>
<body>
<div class="box">
    <ul>
        <li>網站首頁</li>
        <li>關於我們</li>
        <li>免費認證</li>
        <li>政府扶持</li>
        <li>知識產權</li>
        <li>上市服務</li>
        <li>人才招聘</li>
        <li>聯繫我們</li>
    </ul>
    <div id="nav-bar"></div>
<script>
    //導航條的切換就是下滑線的位置改變,
    //定義一個對象 獲取id爲"nav-bar"的標籤
    var  navBar = document.getElementById("nav-bar")
    var lis = document.getElementsByTagName("li");
    var currentX = 0;
    var beginX = 0;

    //導航條改變位置的計算
    for(var i=0;i<lis.length;i++){
        lis[i].onmouseover = function(event){
            var e = window.event||event;
            currentX = this.offsetLeft;
            console.log(currentX);

        }
    }
//滑動的實質是將改變的過程放慢了

    setInterval(function(){
        //begin每次所處位置應該是每一份距離加上前面已經走了的距離
        beginX = beginX + (currentX-beginX)/10;
        //加上單位 20的意思就是隔20毫秒執行
        navBar.style.left = beginX +"px";
    },20);

</script>
</div>
</body>
</html>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章