jQuery 滑动菜单效果

本文介绍了一种使用CSS和jQuery实现的动态导航栏效果。通过简单的HTML结构配合CSS样式及jQuery脚本,当鼠标悬停在不同的导航项上时,会有一个橙色线条动画跟随鼠标移动到对应的导航项下方。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<!doctype html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>Document</title>

</head>

 

<style>

*{

padding:0;

margin:0;

}

ul,li{

list-style:none;

}

.nav{

height:30px;

background:rgba(224,0,0,.5) !important;

}

.nav li{

float:left;

padding:0px 20px;

line-height:30px;

height:30px;

cursor:pointer;

}

.nav li a{

color:#fff;

text-decoration:none;

display: block;

}

.nav li:hover{

    background:red;

}

.box{

position:relative;

}

.active{

position:absolute;

height:5px;

background:orange;

}

</style>

 

<body>

 

 

<div class="box">

 

      <ul class="nav">

 

      <li class="hover"><a href="#">菜单1</a></li>

      <li><a href="#">菜单2</a></li>

      <li><a href="#">菜单3</a></li>

      <li><a href="#">菜单4</a></li>

      <li><a href="#">菜单5</a></li>

      <li><a href="#">菜单6</a></li>

      <li><a href="#">菜单7</a></li>

      <li><a href="#">菜单8</a></li>

      <li><a href="#">菜单9</a></li>

 

      </ul><!--nav-->

 

 <div class="active"></div>

 

</div><!--box-->

 

 

</body>

 

</html>

 

<script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>

<script>

 $(function(){

   //获取第一个li的宽度

    var firstLiWidth = $('.nav li').eq(0).outerWidth();

   //定义动画菜单的宽度

    $('.active').css('width', firstLiWidth+'px');

     //鼠标进入时,active跟随,根据它的索引值来定位

   $('.nav li').mouseover(function(){

       // alert($(this).index());

       $('.active').stop().animate({

        left: $(this).index() * firstLiWidth +'px'

       }, 400);

   }).mouseout(function(){

     //鼠标离开的时候,遍历所有li然后根据哪个有 hover这个class的时候那么鼠标就停留在那里 

     $('.nav li').each(function(){

      if ($(this).hasClass('hover')) {

           $('.active').stop().animate({

          //根据它的索引值和第一个菜单宽度来定它的位置

          left: $(this).index() * firstLiWidth +'px'

            }, 400);

          };

      });

   });

//鼠标点击的时候加上class让它进行active的定位

   $('.nav li').click(function(){

        $(this).addClass('hover').siblings().removeClass();

   });

 })

 

</script>

 

转载于:https://www.cnblogs.com/zion0707/p/3889378.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值