jQuery实现简单漂亮的Nav导航菜单效果


Posted in jQuery onMarch 29, 2017

本文实例讲述了jQuery实现简单漂亮的Nav导航菜单效果。分享给大家供大家参考,具体如下:

自己写的一个简单的导航菜单,先看效果:

jQuery实现简单漂亮的Nav导航菜单效果

鼠标悬浮时菜单项向上移动成蓝底白字,点击之后底部会有蓝条表示当前选中项。

页面代码,菜单的每一项都是一个 div ,其中包括一个 ul 用来放置显示文字等,另一个 div 则是底部的蓝条,需要给第一项和最后一项设置不同的 class ,样式需要用到:

<div id="nav">
<div class="navItem indexNavItem">


<ul class="navUl">



<li>首页</li>



<li class="hoverLi">首页</li>


</ul>


<div class="highlighter selectedNav"></div>

</div>

<div class="navItem">


<ul class="navUl">



<li>A</li>



<li class="hoverLi">A</li>
    </ul>


<div class="highlighter"></div>

</div>

<div class="navItem lastNavItem">


<ul class="navUl">



<li>A</li>



<li class="hoverLi">A</li>


</ul>


<div class="highlighter"></div>

</div>

<div id="logoutNavItem" class="navItem logoutNavItem lastNavItem">


<ul class="navUl">



<li>退出</li>



<li class="hoverLi">退出</li>


</ul>


<div class="highlighter"></div>  

</div>
</div>

样式,主要就是每个菜单项的左右边框的设置以及 ul 和 li 的位置设置:

*
{
  padding: 0;
  margin: 0;
}
body
{
  background-color: #fffff3;
  font: 12px/1.6em Helvetica, Arial, sans-serif;
}
ul,li{
  list-style: none;
}
#nav
{
  text-align: center;
  height: 50px;
  font-size: 10px;
  line-height: 30px;
  background-color: #F0E6DB;
  margin-bottom: 10px;
}
.navItem
{
  cursor: pointer;
  position: relative;
  float: left;
  width: 100px;
  height: 50px;
  font-size: 15px;
  border-right: 2px solid rgb(255,255,255);
  border-left: 2px solid rgb(255,255,255);
  overflow: hidden;
  font-weight:bold;
}
.indexNavItem
{
  border-left: 4px solid rgb(255,255,255);
  margin-left: 10px;
}
.lastNavItem
{
  border-right: 4px solid rgb(255,255,255);
}
.logoutNavItem
{
  float: right;
  width: 120px;
  margin-right: 10px;
  border-left: 4px solid rgb(255,255,255);
}
.navUl
{
  position: relative;
  height: 100px;
  width: 100%;
  border-bottom: 5px solid rgb(2,159,212);
}
.navUl li
{
  height: 50px;
  line-height: 50px;
}
.highlighter
{
  position: absolute;
  bottom: 0;
  height: 5px;
  width: 100%;
}
.selectedNav
{
  background-color: #029FD4;
}
.hoverLi
{
  background-color: #029FD4;
  color: #ffffff;
}

接下来就是给菜单编写悬浮和单击事件的 js 代码了,悬浮时将 ul 上移 li 的高度,鼠标移开后再恢复,点击之后就是给蓝条的 div 添加样式即可:

$(function() {
  $(".navItem").hover(function() {
    $(this).children("ul").animate({
      top: "-50px"
    }, 100);
  }, function() {
    $(this).children("ul").animate({
      top: "0px"
    }, 100);
  });
  $(".navItem").click(function(event) {
    $(this).siblings().children('.highlighter').removeClass('selectedNav');
    $(this).children('.highlighter').addClass('selectedNav');
  });
})

希望本文所述对大家jQuery程序设计有所帮助。

jQuery 相关文章推荐
jQuery插件FusionCharts实现的3D帕累托图效果示例【附demo源码】
Mar 25 jQuery
jQuery Ajax自定义分页组件(jquery.loehpagerv1.0)实例详解
May 01 jQuery
jQuery返回定位插件详解
May 15 jQuery
使用 jQuery 实现表单验证功能
Jul 05 jQuery
基于jQuery Easyui实现登陆框界面
Jul 10 jQuery
jQuery Autocomplete简介_动力节点Java学院整理
Jul 17 jQuery
使用jQuery实现简单的tab框实例
Aug 22 jQuery
jquery写出PC端轮播图实例
Jan 26 jQuery
jQuery实现定时隐藏对话框的方法分析
Feb 12 jQuery
jQuery轮播图实例详解
Aug 15 jQuery
通过JQuery,JQueryUI和Jsplumb实现拖拽模块
Jun 18 jQuery
基于jQuery实现可编辑的表格
Dec 11 jQuery
jQuery实现的手风琴侧边菜单效果
Mar 29 #jQuery
jQuery实现字体颜色渐变效果的方法
Mar 29 #jQuery
jquery实现tab键进行选择后enter键触发click行为
Mar 29 #jQuery
jQuery插件之validation插件
Mar 29 #jQuery
jquery实现静态搜索功能(可输入搜索文字)
Mar 28 #jQuery
jQuery插件FusionCharts绘制的2D帕累托图效果示例【附demo源码】
Mar 28 #jQuery
BootStrap中jQuery插件Carousel实现轮播广告效果
Mar 27 #jQuery
You might like
PHP乱码问题,UTF-8乱码常见问题小结
2012/04/09 PHP
Zend Framework教程之Zend_Db_Table用法详解
2016/03/21 PHP
PHP实现的简单对称加密与解密方法实例小结
2017/08/28 PHP
Laravel中Facade的加载过程与原理详解
2017/09/22 PHP
PHP文件类型检查及fileinfo模块安装使用详解
2019/05/09 PHP
理解javascript中的回调函数(callback)
2014/09/02 Javascript
jQuery 动态云标签插件
2014/11/11 Javascript
HTML5 canvas 9绘制图片实例详解
2016/09/06 Javascript
jQuery实现倒计时重新发送短信验证码功能示例
2017/01/12 Javascript
JavaScript实现实时更新系统时间的实例代码
2017/04/04 Javascript
jQuery实现文字超过1行、2行或规定的行数时自动加省略号的方法
2018/03/28 jQuery
vue.js的简单自动求和计算实例
2019/11/08 Javascript
Vue组件模板及组件互相引用代码实例
2020/03/11 Javascript
详解微信小程序「渲染层网络层错误」的解决方法
2021/01/06 Javascript
Python设计模式之代理模式实例
2014/04/26 Python
python中List的sort方法指南
2014/09/01 Python
python处理csv数据的方法
2015/03/11 Python
Python使用requests发送POST请求实例代码
2018/01/25 Python
浅谈pandas中shift和diff函数关系
2018/04/08 Python
解决django的template中如果无法引用MEDIA_URL问题
2020/04/07 Python
python中pop()函数的语法与实例
2020/12/01 Python
python制作抽奖程序代码详解
2021/01/15 Python
利用CSS3的定位页面元素
2009/08/29 HTML / CSS
SEPHORA新西兰官方网站:购买化妆品和护肤品
2016/12/02 全球购物
意大利买卖二手奢侈品网站:LAMPOO
2020/06/03 全球购物
广州御银科技股份有限公司试卷(C++)
2016/11/04 面试题
EJB面试题
2015/07/28 面试题
大学英语演讲稿(中英文对照)
2014/01/14 职场文书
小学家长会邀请函
2014/01/23 职场文书
教师试用期自我鉴定
2014/02/12 职场文书
会计专业求职信
2014/08/10 职场文书
三峡导游词
2015/01/31 职场文书
2019年员工晋升管理制度范本!
2019/07/08 职场文书
react国际化react-intl的使用
2021/05/06 Javascript
Python如何将list中的string转换为int
2022/07/15 Ruby
Win11 vmware不兼容怎么办?Win11与VMware虚拟机不兼容的解决方法
2023/01/09 数码科技