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源码】
Apr 02 jQuery
bootstrap+jQuery 实现下拉菜单中复选框全选和全不选效果
Jun 12 jQuery
jQuery实现的事件绑定功能基本示例
Oct 11 jQuery
将jquery.qqFace.js表情转换成微信的字符码
Dec 01 jQuery
用jquery获取select标签中选中的option值及文本的示例
Jan 25 jQuery
JQuery选中select组件被选中的值方法
Mar 08 jQuery
Vue引入jquery实现平滑滚动到指定位置
May 09 jQuery
jQuery实现炫丽的3d旋转星空效果
Jul 04 jQuery
jQuery三组基本动画与自定义动画操作实例总结
May 09 jQuery
jQuery实现移动端下拉展现新的内容回弹动画
Jun 24 jQuery
jQuery实现回到顶部效果
Oct 19 jQuery
Jquery Fade用法详解
Nov 06 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
MySQL修改密码方法总结
2008/03/25 PHP
php笔记之:php数组相关函数的使用
2013/04/26 PHP
Laravel5中防止XSS跨站攻击的方法
2016/10/10 PHP
TP5(thinkPHP5框架)基于bootstrap实现的单图上传插件用法示例
2019/05/29 PHP
PHP全局使用Laravel辅助函数dd
2019/12/26 PHP
游戏人文件夹程序 ver 4.03
2006/07/14 Javascript
js判断设备是否为PC并调整图片大小
2014/02/12 Javascript
自制的文件上传JS控件可支持IE、chrome、firefox etc
2014/04/18 Javascript
jquery实现超简洁的TAB选项卡效果代码
2015/08/28 Javascript
angularjs学习笔记之双向数据绑定
2015/09/26 Javascript
果断收藏9个Javascript代码高亮脚本
2016/01/06 Javascript
通用无限极下拉菜单的实现代码
2016/05/31 Javascript
jQuery实现调整表格单列顺序完整实例
2016/06/20 Javascript
微信小程序 绘图之饼图实现
2016/10/24 Javascript
浅述Javascript的外部对象
2016/12/07 Javascript
基于EasyUI的基础之上实现树形功能菜单
2017/06/28 Javascript
node.js实现微信JS-API封装接口的示例代码
2017/09/06 Javascript
前端把html表格生成为excel表格的实例
2017/09/19 Javascript
微信小程序项目实践之主页tab选项实现
2018/07/18 Javascript
JavaScript迭代器的含义及用法
2019/06/21 Javascript
layui下拉框获取下拉值(select)的例子
2019/09/10 Javascript
JavaScript检测浏览器是否支持CSS变量代码实例
2020/04/03 Javascript
python中django框架通过正则搜索页面上email地址的方法
2015/03/21 Python
Python使用arrow库优雅地处理时间数据详解
2017/10/10 Python
Python实现动态添加属性和方法操作示例
2018/07/25 Python
Python3 requests文件下载 期间显示文件信息和下载进度代码实例
2019/08/16 Python
Python 列表的清空方式
2020/01/13 Python
Python获取二维数组的行列数的2种方法
2020/02/11 Python
Coach澳大利亚官方网站:美国著名时尚奢侈品牌
2017/05/24 全球购物
澳大利亚排名第一的在线酒类商店:MyBottleShop
2018/04/26 全球购物
伦敦著名的运动鞋综合商店:Footpatrol
2019/03/25 全球购物
澳大利亚在线购买葡萄酒:The Wine Collective
2020/02/20 全球购物
物理专业本科生自荐信
2014/01/30 职场文书
化学专业自荐信
2014/05/28 职场文书
体育教师研修感悟
2015/11/18 职场文书
详细谈谈JavaScript中循环之间的差异
2021/08/23 Javascript