JS小案例-天猫导航栏

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style>
        *{
            margin: 0;
            padding: 0;
            list-style: none;
            border: 0;
        }
        body{
            background-color: pink;
        }
        #nav{
            width: 900px;
            height: 63px;
            background:url("day1_images/doubleOne.png") no-repeat right center #cccccc;
            border-radius: 5px;
            position: relative;
            margin: 100px auto;
        }
        #nav ul{
            position: relative;

        }
        #nav ul li{
            float: left;
            width: 88px;
            height: 63px;
            text-align: center;
            line-height: 70px;
            cursor: pointer;
        }
        #t_mall{
            width: 88px;
            height: 63px;
            background:url("day1_images/tMall.png") no-repeat;
            position: absolute;
        }
    </style>
</head>
<body>
<nav id="nav">
    <span id="t_mall"></span>
    <ul id="uu">
        <li>双11狂欢</li>
        <li>服装会场</li>
        <li>数码家电</li>
        <li>家居建材</li>
        <li>母婴童装</li>
        <li>手机会场</li>
        <li>美妆会场</li>
        <li>进口会场</li>
        <li>飞猪旅行</li>
    </ul>
</nav>
<script>
    window.onload= function () {
        //获取需要的标签
        var nav=$("nav");
        var t_mall=$("t_mall");
        var uu=$("uu");
        var allLis=uu.children;
        var beginX=0;//记录鼠标点击的位置
        //遍历li标签
        for(var i=0;i<allLis.length;i++){
            var li=allLis[i];
            //监听鼠标进入
            li.onmouseover= function () {
                end=this.offsetLeft;
            };
            //监听鼠标按下 之后自动停留的位置就是点击的位置
            li.onmousedown= function () {
                beginX=this.offsetLeft;
            };
            //监听鼠标离开
            li.onmouseout= function () {
                end=beginX;
            }
        }
        //实现缓动动画
        var begin= 0,end=0;
        setInterval(function () {
            begin=begin+(end - begin)*0.2;
            t_mall.style.left=begin+"px";
        },50);

        function $(id){
            return typeof id==="string"?document.getElementById(id):null;
        }
    }
</script>
</body>
</html>

![tMall.png当你移动或点击时用来指示当前导航栏![](https://img-blog.csdnimg.cn/20181224212301177.png)

doubleOne.png 导航栏右侧背景图片,即标识图
最终效果图,红色背景图会随着鼠标移动而移动

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值