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 相关文章推荐
扩展jquery实现客户端表格的分页、排序功能代码
Mar 16 Javascript
javascript跨域的4种方法和原理详解
Apr 08 Javascript
node.js中的fs.utimesSync方法使用说明
Dec 15 Javascript
Angular Js文件上传之form-data
Aug 28 Javascript
BootStrap Select清除选中的状态恢复默认状态
Jun 20 Javascript
js实现图片懒加载效果
Jul 17 Javascript
javascript实现Java中的Map对象功能的实例详解
Aug 21 Javascript
JavaScript学习笔记之惰性函数示例详解
Aug 27 Javascript
vue中改变选中当前项的显示隐藏或者状态的实现方法
Feb 08 Javascript
详解Element-UI中上传的文件前端处理
Aug 07 Javascript
详解微信小程序动画Animation执行过程
Sep 23 Javascript
Node与Python 双向通信的实现代码
Jul 16 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
哪吒敖丙传:新人物二哥敖乙出场 小敖丙奶气十足
2020/03/08 国漫
用PHP和MySQL保存和输出图片
2006/10/09 PHP
PHP中使用cURL实现Get和Post请求的方法
2013/03/13 PHP
php开启openssl的方法
2014/05/15 PHP
php实现格式化多行文本为Js可用格式
2015/04/15 PHP
Thinkphp和onethink实现微信支付插件
2016/04/13 PHP
PHP通过引用传递参数用法分析
2016/12/01 PHP
TP5框架简单登录功能实现方法示例
2019/10/31 PHP
基于jquery的loading效果实现代码
2010/11/05 Javascript
jQuery下实现等待指定元素加载完毕(可改成纯js版)
2013/07/11 Javascript
玩转方法:call和apply
2014/05/08 Javascript
最常见的左侧分类菜单栏jQuery实现代码
2016/11/28 Javascript
如何给ss bash 写一个 WEB 端查看流量的页面
2017/03/23 Javascript
webpack实用小功能介绍
2018/01/02 Javascript
nginx部署访问vue-cli搭建的项目的方法
2018/02/12 Javascript
Angular 向组件传递模板的两种方法
2018/02/23 Javascript
详解JS函数stack size计算方法
2018/06/18 Javascript
微信小程序实现类似微信点击语音播放效果
2020/03/30 Javascript
微信小程序开发技巧汇总
2019/07/15 Javascript
vue+node 实现视频在线播放的实例代码
2020/10/19 Javascript
vue 通过base64实现图片下载功能
2020/12/19 Vue.js
Python实现检测服务器是否可以ping通的2种方法
2015/01/01 Python
python代码 if not x: 和 if x is not None: 和 if not x is None:使用介绍
2016/09/21 Python
Python实现的多叉树寻找最短路径算法示例
2018/07/30 Python
python利用跳板机ssh远程连接redis的方法
2019/02/19 Python
python机器人运动范围问题的解答
2019/04/29 Python
python命令 -u参数用法解析
2019/10/24 Python
python实现在多维数组中挑选符合条件的全部元素
2019/11/26 Python
酒店副总岗位职责
2013/12/24 职场文书
研究生求职自荐书
2014/06/23 职场文书
党员对照检查材料思想汇报
2014/09/16 职场文书
师德师风个人整改措施
2014/10/27 职场文书
财务会计实训报告
2014/11/05 职场文书
辩护词范文大全
2015/05/21 职场文书
银行客户经理培训心得体会
2016/01/09 职场文书
PostGIS的安装与入门使用指南
2022/01/18 PostgreSQL