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 相关文章推荐
javascript 中String.match()与RegExp.exec()的区别说明
Jan 10 Javascript
jQuery+CSS 半开折叠效果原理及代码(自写)
Mar 04 Javascript
JavaScript中的cacheStorage使用详解
Jul 29 Javascript
使用bootstrap3开发响应式网站
May 12 Javascript
JavaScript递归操作实例浅析
Oct 31 Javascript
node.js连接MongoDB数据库的2种方法教程
May 17 Javascript
详解Vue-cli 创建的项目如何跨域请求
May 18 Javascript
在nginx上部署vue项目(history模式)的方法
Dec 28 Javascript
微信小程序仿微信运动步数排行(交互)
Jul 13 Javascript
在Web关闭页面时发送Ajax请求的实现方法
Mar 07 Javascript
vue2.0 解决抽取公用js的问题
Jul 31 Javascript
Vue详细的入门笔记
May 10 Vue.js
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
模拟flock实现文件锁定
2007/02/14 PHP
解析如何用php screw加密php源代码
2013/06/20 PHP
php中base_convert()进制数字转换函数实例
2014/11/20 PHP
关于laravel框架中的常用目录路径函数
2019/10/23 PHP
JS无限树状列表实现代码
2011/01/11 Javascript
Ajax搜索结果页面下方的分页按钮的生成
2012/04/05 Javascript
jQuery设置和移除文本框默认值的方法
2015/03/09 Javascript
使用EVAL处理jqchart jquery 折线图返回数据无效的解决办法
2015/11/26 Javascript
jQuery实现的点赞随机数字显示动画效果(附在线演示与demo源码下载)
2015/12/31 Javascript
Backbone.js框架中Model与Collection的使用实例
2016/05/07 Javascript
AngularJS指令中的绑定策略实例分析
2016/12/14 Javascript
BootstrapValidator实现注册校验和登录错误提示效果
2017/03/10 Javascript
Vue-cli创建项目从单页面到多页面的方法
2017/09/20 Javascript
百度地图去掉marker覆盖物或者去掉maker的label文字方法
2018/01/26 Javascript
前后端常见的几种鉴权方式(小结)
2019/08/04 Javascript
JS如何判断对象是否包含某个属性
2020/08/29 Javascript
vue配置多代理服务接口地址操作
2020/09/08 Javascript
[29:59]完美世界DOTA2联赛PWL S3 Forest vs access 第二场 12.11
2020/12/13 DOTA
[01:04:09]DOTA2-DPC中国联赛 正赛 iG vs VG BO3 第二场 2月2日
2021/03/11 DOTA
天翼开放平台免费短信验证码接口使用实例
2013/12/18 Python
Python3控制路由器——使用requests重启极路由.py
2016/05/11 Python
Python 串口读写的实现方法
2019/06/12 Python
Django中在xadmin中集成DjangoUeditor过程详解
2019/07/24 Python
Django 查询数据库并返回页面的例子
2019/08/12 Python
python 进程的几种创建方式详解
2019/08/29 Python
给朋友的道歉信
2014/01/09 职场文书
幼儿运动会邀请函
2014/01/17 职场文书
群众路线教育实践活动方案
2014/02/02 职场文书
优秀部门获奖感言
2014/02/14 职场文书
理财学专业自荐书
2014/06/28 职场文书
上课说话检讨书500字
2014/11/01 职场文书
销售会议开幕词
2015/01/28 职场文书
如何写辞职书
2015/02/26 职场文书
2015年安全保卫工作总结
2015/05/14 职场文书
老干部座谈会主持词
2015/07/03 职场文书
python微信智能AI机器人实现多种支付方式
2022/04/12 Python