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 相关文章推荐
求得div 下 img的src地址的js代码
Feb 28 Javascript
一句话JavaScript表单验证代码
Aug 02 Javascript
《JavaScript DOM 编程艺术》读书笔记之DOM基础
Jan 09 Javascript
Javascript使用post方法提交数据实例
Aug 03 Javascript
JS获取文件大小方法小结
Dec 08 Javascript
javascript中FOREACH数组方法使用示例
Mar 01 Javascript
js重写方法的简单实现
Jul 10 Javascript
node.js缺少mysql模块运行报错的解决方法
Nov 13 Javascript
JS两种类型的表单提交方法实例分析
Nov 28 Javascript
Angular2管道Pipe及自定义管道格式数据用法实例分析
Nov 29 Javascript
详解vue-meta如何让你更优雅的管理头部标签
Jan 18 Javascript
angular实现input输入监听的示例
Aug 31 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 register_shutdown_function函数的深入解析
2013/06/03 PHP
PHP采用XML-RPC构造Web Service实例教程
2014/07/16 PHP
PHP Web木马扫描器代码分享
2015/09/06 PHP
功能强大的php分页函数
2016/07/20 PHP
Yii实现文章列表置顶功能示例
2016/10/18 PHP
PHP实现发送微博消息功能完整示例
2019/12/04 PHP
filters.revealTrans.Transition使用方法小结
2010/08/19 Javascript
jQuery EasyUI API 中文文档 - NumberBox数字框
2011/10/13 Javascript
13 款最热门的 jQuery 图像 360 度旋转插件推荐
2014/12/09 Javascript
javascript实现点击商品列表checkbox实时统计金额的方法
2015/05/15 Javascript
JS实现网页顶部向下滑出的全国城市切换导航效果
2015/08/22 Javascript
轻松学习jQuery插件EasyUI EasyUI实现拖放商品放置购物车
2015/11/30 Javascript
再次谈论React.js实现原生js拖拽效果引起的一系列问题
2016/04/03 Javascript
JS控制div跳转到指定的位置的几种解决方案总结
2016/11/05 Javascript
jquery中each循环的简单回滚操作
2017/05/05 jQuery
JS实现求数组起始项到终止项之和的方法【基于数组扩展函数】
2017/06/13 Javascript
详解基于Vue+Koa的pm2配置
2017/10/24 Javascript
javascript Function函数理解与实战
2017/12/01 Javascript
浅谈Vue服务端渲染框架Nuxt的那些事
2018/12/21 Javascript
简单谈谈javascript高级特性
2019/09/04 Javascript
JS回调函数 callback的理解与使用案例分析
2019/09/09 Javascript
封装一下vue中的axios示例代码详解
2020/02/16 Javascript
python3.0 字典key排序
2008/12/24 Python
PyCharm代码提示忽略大小写设置方法
2018/10/28 Python
Python实现堡垒机模式下远程命令执行操作示例
2019/05/09 Python
numpy中的meshgrid函数的使用
2019/07/31 Python
django 连接数据库出现1045错误的解决方式
2020/05/14 Python
keras实现VGG16 CIFAR10数据集方式
2020/07/07 Python
Pycharm添加虚拟解释器报错问题解决方案
2020/10/13 Python
Python日志打印里logging.getLogger源码分析详解
2021/01/17 Python
html5 touch事件实现触屏页面上下滑动(一)
2016/03/10 HTML / CSS
描述JSP和Servlet的区别、共同点、各自应用的范围
2012/10/02 面试题
毕业生就业自荐书
2013/12/15 职场文书
小学毕业家长寄语
2014/01/19 职场文书
简历自我评价:教师师德表现自我评价
2019/04/24 职场文书
Win10服务主机占用内存怎么办?Win10服务主机进程占用大量内存解决方法
2022/09/23 数码科技