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 学习笔记(一)
Oct 13 Javascript
jQuery判断密码强度实现思路及代码
Apr 24 Javascript
浅谈Javascript中匀速运动的停止条件
Dec 19 Javascript
JavaSacript中charCodeAt()方法的使用详解
Jun 05 Javascript
JavaScript中的slice()方法使用详解
Jun 06 Javascript
jquery控制页面部分刷新的方法
Jun 24 Javascript
jQuery表单验证插件解析(推荐)
Jul 21 Javascript
JS实现简单的二元方程计算器功能示例
Jan 03 Javascript
Vue-cli proxyTable 解决开发环境的跨域问题详解
May 18 Javascript
ES6 对象的新功能与解构赋值介绍
Feb 05 Javascript
js获取form表单中name属性的值
Feb 27 Javascript
javascript绘制简单钟表效果
Apr 07 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之require/include顺序 推荐
2011/01/02 PHP
php获取文件内容最后一行示例
2014/01/09 PHP
ThinkPHP写数组插入与获取最新插入数据ID实例
2014/11/03 PHP
PHP实用函数分享之去除多余的0
2015/02/06 PHP
PHP的HTTP客户端Guzzle简单使用方法分析
2019/10/30 PHP
PHP7 新增常量
2021/03/09 PHP
Javascript类库的顶层对象名用户体验分析
2010/10/24 Javascript
js实现继承的5种方式
2015/12/01 Javascript
Node.js 的模块知识汇总
2017/08/16 Javascript
vue2组件之select2调用的示例代码
2017/10/12 Javascript
js操作二进制数据方法
2018/03/03 Javascript
JS实现为动态创建的元素添加事件操作示例
2018/03/17 Javascript
vue实现同一个页面可以有多个router-view的方法
2018/09/20 Javascript
Vue实现push数组并删除的例子
2019/11/01 Javascript
js数组中去除重复值的几种方法
2020/08/03 Javascript
js数组的基本使用总结
2021/01/18 Javascript
Python网络爬虫实例讲解
2016/04/28 Python
Python实现完整的事务操作示例
2017/06/20 Python
解决python读取几千万行的大表内存问题
2018/06/26 Python
人工神经网络算法知识点总结
2019/06/11 Python
python 函数中的参数类型
2020/02/11 Python
Python3.7.0 Shell添加清屏快捷键的实现示例
2020/03/23 Python
关于iframe跨域使用postMessage的实现
2019/10/29 HTML / CSS
美国奢侈品在线团购网站:Gilt City
2017/11/16 全球购物
WiFi云数码相框:Nixplay
2018/07/05 全球购物
印度手工编织服装和家居用品商店:Fabindi
2019/10/07 全球购物
十佳美德少年事迹材料
2014/02/05 职场文书
周年庆典主持词
2014/04/02 职场文书
网站推广策划方案
2014/06/04 职场文书
导游词300字
2015/02/13 职场文书
勤俭节约倡议书范文
2015/04/29 职场文书
大学开学典礼新闻稿
2015/07/17 职场文书
少先队中队工作总结2015
2015/07/23 职场文书
如何书写你的职业生涯规划书?
2019/06/27 职场文书
python 机器学习的标准化、归一化、正则化、离散化和白化
2021/04/16 Python
Python中time与datetime模块使用方法详解
2022/03/31 Python