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实现可改变列宽的table实例
Jul 02 Javascript
js 赋值包含单引号双引号问题的解决方法
Feb 26 Javascript
使用jQuery管理选择结果
Jan 20 Javascript
EasyUI中datagrid在ie下reload失败解决方案
Mar 09 Javascript
jQuery中$.ajax()方法参数解析
Oct 22 Javascript
angular.js+node.js实现下载图片处理详解
Mar 31 Javascript
Node.js Mongodb 密码特殊字符 @的解决方法
Apr 11 Javascript
vue组件编写之todolist组件实例详解
Jan 22 Javascript
浅析node.js的模块加载机制
May 25 Javascript
JavaScript对象的浅拷贝与深拷贝实例分析
Jul 25 Javascript
解决LayUI加上form.render()下拉框和单选以及复选框不出来的问题
Sep 27 Javascript
JavaScript事件委托实现原理及优点进行
Aug 29 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
分页显示Oracle数据库记录的类之一
2006/10/09 PHP
PHP实例分享判断客户端是否使用代理服务器及其匿名级别
2014/06/04 PHP
jQuery中创建实例与原型继承揭秘
2011/12/21 Javascript
基于jquery的多功能软键盘插件
2012/07/25 Javascript
JS特殊函数(Function()构造函数、函数直接量)区别介绍
2013/05/19 Javascript
JS图片根据鼠标滚动延时加载的实例代码
2013/07/13 Javascript
js字符串完全替换函数分享
2014/12/03 Javascript
Javascript设计模式之观察者模式的多个实现版本实例
2015/03/03 Javascript
使用纯javascript实现经典扫雷游戏
2015/04/23 Javascript
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
2016/12/14 Javascript
jQuery使用Layer弹出层插件闪退问题
2016/12/22 Javascript
深入理解Javascript箭头函数中的this
2017/02/13 Javascript
vue router2.0二级路由的简单使用
2017/07/05 Javascript
详解微信小程序实现WebSocket心跳重连
2018/07/31 Javascript
在vue项目中封装echarts的步骤
2020/12/25 Vue.js
[59:48]LGD vs IG 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
TensorFlow在MAC环境下的安装及环境搭建
2017/11/14 Python
学习Python selenium自动化网页抓取器
2018/01/20 Python
在Python中使用defaultdict初始化字典以及应用方法
2018/10/31 Python
pygame实现烟雨蒙蒙下彩虹雨
2019/11/11 Python
python列表推导式入门学习解析
2019/12/02 Python
Keras 利用sklearn的ROC-AUC建立评价函数详解
2020/06/15 Python
微信端html5页面调用分享接口示例
2018/03/14 HTML / CSS
Space NK美国站:英国高端美妆护肤商城
2017/05/22 全球购物
美国顶级品牌男士大码服装店:DXL
2017/08/30 全球购物
英国和世界各地预订便宜的酒店:LateRooms.com
2019/05/05 全球购物
优秀求职信范文分享
2014/01/26 职场文书
《自选商场》教学反思
2014/02/14 职场文书
市级优秀班主任事迹材料
2014/05/13 职场文书
中学教师个人总结
2015/02/10 职场文书
个人政治思想总结
2015/03/05 职场文书
公司员工体检通知
2015/04/21 职场文书
2016教师党员学习心得体会
2016/01/21 职场文书
nginx安装以及配置的详细过程记录
2021/09/15 Servers
CentOS7和8下安装Maven3.8.4
2022/04/07 Servers
微前端qiankun改造日渐庞大的项目教程
2022/06/21 Javascript