导航栏切换导航条的移动

<!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>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值