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 Plupload上传插件的使用
Apr 19 jQuery
jQuery实现动态添加、删除按钮及input输入框的方法
Apr 27 jQuery
浅谈jQuery框架Ajax常用选项
Jul 08 jQuery
jQuery实现菜单栏导航效果
Aug 15 jQuery
jQuery实现验证表单密码一致性及正则表达式验证邮箱、手机号的方法
Dec 05 jQuery
jQuery第一次运行页面默认触发点击事件的实例
Jan 10 jQuery
jQuery实现的下雪动画效果示例【附源码下载】
Feb 02 jQuery
菊花转动的jquery加载动画效果
Aug 19 jQuery
使用JQuery自动完成插件Auto Complete详解
Jun 18 jQuery
jquery实现吸顶导航效果
Jan 08 jQuery
jQuery实现计算器功能
Oct 19 jQuery
jquery插件懒加载的示例
Oct 24 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生成缩略图的代码
2011/01/12 PHP
解析PHP函数array_flip()在重复数组元素删除中的作用
2013/06/27 PHP
C#使用PHP服务端的Web Service通信实例
2014/04/08 PHP
PHP实现删除非站内外部链接实例代码
2014/06/17 PHP
php实现对两个数组进行减法操作的方法
2015/04/17 PHP
别了 JavaScript中的isXX系列
2012/08/01 Javascript
JavaScript中检测变量是否存在遇到的一些问题
2013/11/11 Javascript
jquery 字符串切割函数substring的用法说明
2014/02/11 Javascript
js判断字符长度及中英文数字等
2014/03/19 Javascript
JS实现清除指定cookies的方法
2014/09/20 Javascript
Bootstrap每天必学之轮播(Carousel)插件
2016/04/25 Javascript
jquery——九宫格大转盘抽奖实例
2017/01/16 Javascript
JavaScript原生节点操作小结
2017/01/17 Javascript
JS+HTML5 FileReader对象用法示例
2017/04/07 Javascript
实时监控input框,实现输入框与下拉框联动的实例
2018/01/23 Javascript
[42:52]Optic vs Serenity 2018国际邀请赛淘汰赛BO3 第二场 8.22
2018/08/23 DOTA
两个命令把 Vim 打造成 Python IDE的方法
2016/03/20 Python
python 异常处理总结
2016/10/18 Python
Python 爬虫之超链接 url中含有中文出错及解决办法
2017/08/03 Python
python实时监控cpu小工具
2018/06/21 Python
python函数定义和调用过程详解
2020/02/09 Python
python opencv进行图像拼接
2020/03/27 Python
基于Python快速处理PDF表格数据
2020/06/03 Python
python利用线程实现多任务
2020/09/18 Python
德国圣伯纳德草药屋:Kräuterhaus Sanct Bernhard(有中文站)
2018/08/05 全球购物
Python里面search()和match()的区别
2016/09/21 面试题
师范教师专业大学生职业生涯规划范文
2014/03/02 职场文书
毕业生找工作自荐书
2014/06/30 职场文书
绘画专业自荐信
2014/07/04 职场文书
最美护士演讲稿
2014/08/27 职场文书
综治维稳工作承诺书
2014/08/30 职场文书
党的作风建设心得体会
2014/10/22 职场文书
2015年基层党组织公开承诺书
2015/01/21 职场文书
贫困生助学金感谢信
2015/01/21 职场文书
企业战略合作意向书
2015/05/08 职场文书
浅析Python中的套接字编程
2021/06/22 Python