jQuery实现简洁的导航菜单效果


Posted in Javascript onNovember 23, 2015

本文实例讲述了JavaScript实现的伸展收缩型菜单代码。分享给大家供大家参考。具体如下:
运行效果截图如下:

jQuery实现简洁的导航菜单效果

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

页面代码,菜单的每一项都是一个 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实现简洁的导航菜单效果的关键代码,希望对大家的学习有所帮助。

Javascript 相关文章推荐
js取得url地址参数实例
Feb 22 Javascript
jQuery实现ichat在线客服插件
Dec 29 Javascript
javaScript基础语法介绍
Feb 28 Javascript
jQuery+CSS实现的网页二级下滑菜单效果
Aug 25 Javascript
JavaScript遍历求解数独问题的主要思路小结
Jun 12 Javascript
AngularJS基础 ng-hide 指令用法及示例代码
Aug 01 Javascript
getElementById().innerHTML与getElementById().value的区别
Oct 27 Javascript
BootStrap注意事项小结(五)表单
Mar 10 Javascript
AngularJS中ng-options实现下拉列表的数据绑定方法
Aug 13 Javascript
JavaScript生成一个不重复的ID的方法示例
Sep 16 Javascript
JavaScript中的函数申明、函数表达式、箭头函数
Dec 06 Javascript
js实现简单五子棋游戏
May 28 Javascript
Bootstrap每天必学之表格
Nov 23 #Javascript
js 右侧浮动层效果实现代码(跟随滚动)
Nov 22 #Javascript
JQuery实现简单的图片滑动切换特效
Nov 22 #Javascript
js实现简单计算器
Nov 22 #Javascript
javascript实现别踩白块儿小游戏程序
Nov 22 #Javascript
解决jquery插件:TypeError:$.browser is undefined报错的方法
Nov 21 #Javascript
jquery实现select选择框内容左右移动代码分享
Nov 21 #Javascript
You might like
PHP 伪静态隐藏传递参数名的四种方法
2010/02/22 PHP
PHP正则的Unknown Modifier错误解决方法
2010/03/02 PHP
PHP和Mysqlweb应用开发核心技术-第1部分 Php基础-2 php语言介绍
2011/07/03 PHP
jQuery中的RadioButton,input,CheckBox取值赋值实现代码
2014/02/18 PHP
PHP实现对png图像进行缩放的方法(支持透明背景)
2015/07/15 PHP
PHP编程之设置apache虚拟目录
2016/07/08 PHP
PHP 序列化和反序列化函数实例详解
2020/07/18 PHP
NodeJS学习笔记之(Url,QueryString,Path)模块
2015/01/13 NodeJs
javascript中checkbox使用方法实例演示
2015/11/19 Javascript
基于Jquery和html5实现炫酷的3D焦点图动画
2016/03/02 Javascript
Bootstrap模仿起筷首页效果
2016/05/09 Javascript
jquery获取复选框的值的简单实例
2016/05/26 Javascript
jQuery实现定位滚动条位置
2016/08/05 Javascript
原生js仿jquery实现对Ajax的封装
2016/10/04 Javascript
bootstrapValidator表单验证插件学习
2016/12/30 Javascript
详解angular2采用自定义指令(Directive)方式加载jquery插件
2017/02/09 Javascript
javascript作用域链与执行环境详解
2017/03/25 Javascript
详解React项目的服务端渲染改造(koa2+webpack3.11)
2018/03/19 Javascript
React学习笔记之高阶组件应用
2018/06/02 Javascript
浅谈vue权限管理实现及流程
2020/04/23 Javascript
详解vue-router的Import异步加载模块问题的解决方案
2020/05/13 Javascript
[01:10:49]Secret vs VGJ.S 2018国际邀请赛淘汰赛BO3 第二场 8.24
2018/08/25 DOTA
Python字符遍历的艺术
2008/09/06 Python
简洁的十分钟Python入门教程
2015/04/03 Python
Python 打印中文字符的三种方法
2018/08/14 Python
python3 读取Excel表格中的数据
2018/10/16 Python
Python 移动光标位置的方法
2019/01/20 Python
Python单链表原理与实现方法详解
2020/02/22 Python
matplotlib自定义鼠标光标坐标格式的实现
2021/01/08 Python
css3针对移动端卡顿问题的解决(动画性能优化)
2020/02/14 HTML / CSS
HTML5+CSS3绘制锯齿状的矩形
2016/03/01 HTML / CSS
应聘英语教师求职信
2014/04/24 职场文书
化工实习心得体会
2014/09/09 职场文书
趣味运动会广播稿
2014/09/13 职场文书
政风行风评议工作总结
2014/10/21 职场文书
Python数据分析之pandas函数详解
2021/04/21 Python