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 23 Javascript
javascript的字符串按引用复制和传递,按值来比较介绍与应用
Dec 28 Javascript
jquery实现不同大小浏览器使用不同的css样式表的方法
Apr 02 Javascript
网页广告中JS代码的信息监听示例
Apr 02 Javascript
node.js中的path.delimiter方法使用说明
Dec 09 Javascript
全面理解JavaScript中的继承(必看)
Jun 16 Javascript
深入理解vue中的$set
Jun 01 Javascript
React Native AsyncStorage本地存储工具类
Oct 24 Javascript
Vue页面骨架屏注入方法
May 13 Javascript
jquery实现垂直手风琴菜单
Mar 04 jQuery
Javascript异步执行不按顺序解决方案
Apr 30 Javascript
微信小程序实现上拉加载功能示例【加载更多数据/触底加载/点击加载更多数据】
May 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
Windows下利用Gvim写PHP产生中文乱码问题解决方法
2011/04/20 PHP
PHP采集腾讯微博的实现代码
2012/01/19 PHP
用Php编写注册后Email激活验证的实例代码
2013/03/11 PHP
ThinkPHP3.1新特性之对页面压缩输出的支持
2014/06/19 PHP
Ajax和PHP正则表达式验证表单及验证码
2016/09/24 PHP
Django 标签筛选的实现代码(一对多、多对多)
2018/09/05 PHP
php 中phar包的使用教程详解
2018/10/26 PHP
Nigma vs Alliance BO5 第五场2.14
2021/03/10 DOTA
jquery实现微博文字输入框 输入时显示输入字数 效果实现
2013/07/12 Javascript
java与javascript之间json格式数据互转介绍
2013/10/29 Javascript
js 通过cookie实现刷新不变化树形菜单
2014/10/30 Javascript
js实现无缝循环滚动
2020/06/23 Javascript
AngularJS 实现弹性盒子布局的方法
2016/08/30 Javascript
基于JavaScript实现屏幕滚动效果
2017/01/18 Javascript
js实现旋转木马效果
2017/03/17 Javascript
微信小程序 图片宽度自适应的实现
2017/04/06 Javascript
微信小程序实现弹出菜单功能
2018/06/12 Javascript
JS隐藏号码中间4位代码实例
2019/04/09 Javascript
详解mpvue实现对苹果X安全区域的适配
2019/07/31 Javascript
javascript中正则表达式语法详解
2020/08/07 Javascript
python使用webdriver爬取微信公众号
2018/08/31 Python
python实现Zabbix-API监控
2018/09/17 Python
pyqt5实现绘制ui,列表窗口,滚动窗口显示图片的方法
2019/06/20 Python
Python Django view 两种return的实现方式
2020/03/16 Python
python matplotlib模块基本图形绘制方法小结【直线,曲线,直方图,饼图等】
2020/04/26 Python
详解CSS的border边框属性及其在CSS3中的新特性
2016/05/10 HTML / CSS
利用纯css3实现的文字亮光特效的代码演示
2014/11/27 HTML / CSS
CSS Grid布局教程之什么是网格布局
2014/12/30 HTML / CSS
医学毕业生自我鉴定
2013/10/30 职场文书
创先争优标语
2014/06/27 职场文书
2015年六一儿童节活动方案
2015/05/05 职场文书
公司员工违纪检讨书
2015/05/05 职场文书
资产移交协议书
2016/03/24 职场文书
大学生饮品店创业计划书范文
2019/07/10 职场文书
如何在python中实现ECDSA你知道吗
2021/11/23 Python
MySQL自定义函数及触发器
2022/08/05 MySQL