day24—JavaScript实现导航栏底部引线跟随移动

转行学开发,代码100天——2018-04-09

前面的学习笔记中记录过,利用:before和:after实现导航栏鼠标移动跟随效果,今天通过JavaScript代码实现同样的效果,以作对比。

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>JavaScript实现导航栏底部引线跟随移动</title>
<!--适应移动端-->
<meta name="viewport" content="width=device-width, initial-scale=1">
<!--css样式-->
<style>
    body{background-color: #EBEBEB}
    ul{
        list-style:none;
        position:relative;
        overflow:hidden;
    }
    ul li{
        float:left;
        padding:5px 10px;
        background:skyblue;
        color:#fff;
        line-height:45px;
        text-align:center;
        transition:all .2s linear;
        cursor:pointer;
    }
    ul span{
        width:100%;
        height:2px;
        bottom:0;
        background:#f60;
        position:absolute;
        display:black;
    }
    li:hover{
        color:#000;
    }
</style>
<!--引用jquery库-->
<script src="https://libs.baidu.com/jquery/1.11.3/jquery.min.js"></script>
</head>

<body>

<h3>这是一个导航栏下引线鼠标跟随移动效果</h3>

<div id="aaa">
    <ul>
        <li>菜单1</li>
        <li>菜单2</li>
        <li>菜单3</li>
        <li>菜单4</li>
        <li>菜单5</li>
        <span class="line"></span>
        
    </ul>
</div>

<script type="text/javascript">
    $(document).ready(function(){
         $("ul span").css({
             'left':$("ul li").eq(0).position().left,
             'wodth':$("ul li").eq(0).outerWidth()
         });
         
         $("ul li").hover(function(){
             $("ul span").stop().animate({
                 left:$(this).position().left,
                 width:$(this).outerWidth()
             });
         },function(){
             $("ul span").stop().animate({
                 left:$("ul li").eq(0).position().left,
                 width:$("ul li").eq(0).outerWidth()
             })
         });

    });
</script>

</body>
</html>

 

 注:在本例中利用了outerWidth()方法获取元素的外部宽度。注意其与width,innerWidth()的区别。

 

转载于:https://www.cnblogs.com/allencxw/p/8795297.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值