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 封装 Ajax 常用方法(推荐)
May 21 jQuery
jQuery Masonry瀑布流布局神器使用详解
May 25 jQuery
基于jquery实现多级菜单效果
Jul 25 jQuery
解决JQuery全选/反选第二次失效的问题
Oct 11 jQuery
jquery.picsign图片标注组件实例详解
Feb 02 jQuery
浅谈jquery fullpage 插件增加头部和版权的方法
Mar 20 jQuery
jquery拖拽自动排序插件使用方法详解
Jul 20 jQuery
使用jQuery如何写一个含验证码的登录界面
May 13 jQuery
jQuery中使用validate插件校验表单功能
May 24 jQuery
jquery实现聊天机器人
Feb 08 jQuery
jQuery 选择方法及$(this)用法实例分析
May 19 jQuery
jQuery实现简单轮播图效果
Dec 27 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获取数组长度的方法(有实例)
2013/10/27 PHP
php+ajax实现带进度条的上传图片功能【附demo源码下载】
2016/09/14 PHP
PHP实现递归目录的5种方法
2016/10/27 PHP
php实现文件上传基本验证
2020/03/04 PHP
Mootools 1.2教程 排序类和方法简介
2009/09/15 Javascript
jquery $(document).ready() 与window.onload的区别
2009/12/28 Javascript
基于jquery的二级联动菜单实现代码
2011/04/25 Javascript
当鼠标移动时出现特效的JQuery代码
2013/11/08 Javascript
Javascript递归打印Document层次关系实例分析
2015/05/15 Javascript
jQuery层次选择器用法示例
2016/09/09 Javascript
Vue.js第三天学习笔记(计算属性computed)
2016/12/01 Javascript
javascript设计模式之策略模式学习笔记
2017/02/15 Javascript
在vue中解决提示警告 for循环报错的方法
2018/09/28 Javascript
Vue创建头部组件示例代码详解
2018/10/23 Javascript
用Cordova打包Vue项目的方法步骤
2019/02/02 Javascript
浅析Vue中拆分视图层代码的5点建议
2019/08/15 Javascript
vue中jsonp插件的使用方法示例
2020/09/10 Javascript
nuxt 服务器渲染动态设置 title和seo关键字的操作
2020/11/05 Javascript
JavaScript十大取整方法实例教程
2020/12/03 Javascript
python 第三方库的安装及pip的使用详解
2017/05/11 Python
对python操作kafka写入json数据的简单demo分享
2018/12/27 Python
python yield关键词案例测试
2019/10/15 Python
两种CSS3伪类选择器详细介绍
2013/12/24 HTML / CSS
css3一个简易的 LED 数字时钟实现方法
2020/01/15 HTML / CSS
关键字final的用法
2013/10/02 面试题
《日月潭》教学反思
2014/02/28 职场文书
学员自我鉴定
2014/03/19 职场文书
小学教师暑期培训方案
2014/08/28 职场文书
违反交通安全法检讨书
2014/10/24 职场文书
2014小学一年级班主任工作总结
2014/12/05 职场文书
焦点访谈观后感
2015/06/11 职场文书
高中运动会前导词
2015/07/20 职场文书
2016年国庆节新闻稿范文
2015/11/25 职场文书
小学三年级数学教学反思
2016/02/16 职场文书
微信小程序实现拍照和相册选取图片
2021/05/09 Javascript
详解JAVA的控制语句
2021/11/11 Java/Android