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中fade(),show()起始位置的一点小发现
Apr 25 jQuery
jquery实现一个全局计时器(商城可用)
Jun 30 jQuery
jQuery选择器特殊字符与属性空格问题
Aug 14 jQuery
jQuery响应滚动条事件功能示例
Oct 14 jQuery
jQuery实现打开网页自动弹出遮罩层或点击弹出遮罩层功能示例
Oct 19 jQuery
jQuery实现手机号正则验证输入及自动填充空格功能
Jan 02 jQuery
jQuery+CSS实现的标签页效果示例【测试可用】
Aug 14 jQuery
jQuery 获取除某指定对象外的其他对象 ( :not() 与.not())
Oct 10 jQuery
jquery拖拽自动排序插件使用方法详解
Jul 20 jQuery
JQuery获取可视区尺寸和文档尺寸及制作悬浮菜单示例
May 14 jQuery
JQuery中的常用事件、对象属性与使用方法分析
Dec 23 jQuery
jquery实现抽奖功能
Oct 22 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 Streams(流)详细介绍及使用
2015/05/12 PHP
基于jquery的超简单上下翻
2010/04/20 Javascript
简介JavaScript中strike()方法的使用
2015/06/08 Javascript
jQuery实现自动切换播放的经典滑动门效果
2015/09/12 Javascript
JavaScript动态数量的文件上传控件
2016/11/18 Javascript
浅析js的模块化编写 require.js
2016/12/07 Javascript
Highcharts+NodeJS搭建数据可视化平台示例
2017/01/01 NodeJs
jquery单击文字或图片内容放大并居中显示
2017/06/23 jQuery
js获取文件里面的所有文件名(实例)
2017/10/17 Javascript
nodejs acl的用户权限管理详解
2018/03/14 NodeJs
jQuery实现的图片点击放大缩小功能案例
2020/01/02 jQuery
JavaScript实现简易聊天对话框(加滚动条)
2020/02/10 Javascript
使用JavaScript获取扫码枪扫描得到的条形码的思路代码详解
2020/06/10 Javascript
微信小程序使用前置摄像头拍照
2020/10/22 Javascript
[51:17]Mski vs VGJ.S Supermajor小组赛C组 BO3 第三场 6.3
2018/06/04 DOTA
Python查找相似单词的方法
2015/03/05 Python
Python实现堆排序的方法详解
2016/05/03 Python
Python求出0~100以内的所有素数
2018/01/23 Python
python实现Adapter模式实例代码
2018/02/09 Python
python计算日期之间的放假日期
2018/06/05 Python
python对于requests的封装方法详解
2019/01/03 Python
django queryset 去重 .distinct()说明
2020/05/19 Python
Python 实现3种回归模型(Linear Regression,Lasso,Ridge)的示例
2020/10/15 Python
Python 虚拟环境工作原理解析
2020/12/24 Python
英国IT硬件供应商,定制游戏PC:Mesh Computers
2019/03/28 全球购物
校园报刊亭创业计划书
2014/01/02 职场文书
活动志愿者自荐信
2014/01/27 职场文书
个人课题方案
2014/05/08 职场文书
缅怀革命先烈演讲稿
2014/05/14 职场文书
学校领导班子四风问题整改意见
2014/10/02 职场文书
个人委托书范文
2015/01/28 职场文书
学生退学证明
2015/06/23 职场文书
python 自动刷新网页的两种方法
2021/04/20 Python
Ajax 的初步实现(使用vscode+node.js+express框架)
2021/06/18 Javascript
php去除deprecated的实例方法
2021/11/17 PHP
Java 超详细讲解十大排序算法面试无忧
2022/04/08 Java/Android