jQuery实现简单漂亮的Nav导航菜单效果

发布时间 - 2026-01-11 00:25:36    点击率:

本文实例讲述了jQuery实现简单漂亮的Nav导航菜单效果。分享给大家供大家参考,具体如下:

自己写的一个简单的导航菜单,先看效果:

鼠标悬浮时菜单项向上移动成蓝底白字,点击之后底部会有蓝条表示当前选中项。

页面代码,菜单的每一项都是一个 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相关内容感兴趣的读者可查看本站专题:《jQuery切换特效与技巧总结》、《jQuery扩展技巧总结》、《jQuery常用插件及用法总结》、《jQuery拖拽特效与技巧总结》、《jQuery表格(table)操作技巧汇总》、《jquery中Ajax用法总结》、《jQuery常见经典特效汇总》、《jQuery动画与特效用法总结》及《jquery选择器用法总结》

希望本文所述对大家jQuery程序设计有所帮助。


# jQuery  # Nav  # 导航菜单  # jQuery和CSS仿京东仿淘宝列表导航菜单  # 基于jQuery实现火焰灯效果导航菜单  # jQuery纵向导航菜单效果实现方法  # jQuery+CSS3实现仿花瓣网固定顶部位置带悬浮效果的导航菜单  # jQuery+css实现非常漂亮的水平导航菜单效果  # jQuery模仿京东/天猫商品左侧分类导航菜单效果  # 原生js和jquery分别实现横向导航菜单效果  # jQuery+CSS实现一个侧滑导航菜单代码  # jquery实现具有收缩功能的垂直导航菜单  # 基于jQuery实现以手风琴方式展开和折叠导航菜单  # jQuery实现二级导航菜单的示例  # 鼠标  # 首页  # 都是  # 菜单项  # 会有  # 相关内容  # 则是  # 感兴趣  # 给大家  # 更多关于  # 所述  # 先看  # 程序设计  # 移开  # 时将  # 单击  # 每一项  # 拖拽  # 操作技巧  # 选择器 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?  Laravel Seeder怎么填充数据_Laravel数据库填充器的使用方法与技巧  专业商城网站制作公司有哪些,pi商城官网是哪个?  Laravel如何处理JSON字段_Eloquent原生JSON字段类型操作教程  微信小程序 配置文件详细介绍  教学论文网站制作软件有哪些,写论文用什么软件 ?  php做exe能调用系统命令吗_执行cmd指令实现方式【详解】  独立制作一个网站多少钱,建立网站需要花多少钱?  使用C语言编写圣诞表白程序  Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用  Laravel如何处理CORS跨域请求?(配置示例)  Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】  Laravel如何升级到最新版本?(升级指南和步骤)  教你用AI将一段旋律扩展成一首完整的曲子  Laravel队列由Redis驱动怎么配置_Laravel Redis队列使用教程  如何在阿里云完成域名注册与建站?  javascript中对象的定义、使用以及对象和原型链操作小结  Laravel怎么使用artisan命令缓存配置和视图  如何快速搭建高效WAP手机网站?  ChatGPT回答中断怎么办 引导AI继续输出完整内容的方法  Python文件流缓冲机制_IO性能解析【教程】  百度浏览器ai对话怎么关 百度浏览器ai聊天窗口隐藏  Laravel如何发送系统通知_Laravel Notifications实现多渠道消息通知  Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控  JS去除重复并统计数量的实现方法  Java解压缩zip - 解压缩多个文件或文件夹实例  C语言设计一个闪闪的圣诞树  Laravel如何记录日志_Laravel Logging系统配置与自定义日志通道  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】  如何在VPS电脑上快速搭建网站?  深入理解Android中的xmlns:tools属性  实例解析Array和String方法  详解jQuery中的事件  微信h5制作网站有哪些,免费微信H5页面制作工具?  Android实现代码画虚线边框背景效果  如何在阿里云高效完成企业建站全流程?  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)  标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析  北京的网站制作公司有哪些,哪个视频网站最好?  Claude怎样写结构化提示词_Claude结构化提示词写法【教程】  香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化  如何在服务器上配置二级域名建站?  佐糖AI抠图怎样调整抠图精度_佐糖AI精度调整与放大细化操作【攻略】  如何在景安服务器上快速搭建个人网站?  如何快速生成ASP一键建站模板并优化安全性?  Laravel集合Collection怎么用_Laravel集合常用函数详解  如何获取免费开源的自助建站系统源码?