jQuery纵向导航菜单效果实现方法

发布时间 - 2026-01-10 21:55:49    点击率:

本文实例讲述了jQuery纵向导航菜单效果实现方法。分享给大家供大家参考,具体如下:

效果如下:

核心代码如下:

$( document ).ready( function(e){
  var $catCont = $( ".cat-cont" );  //二级菜单div
  var $catList = $( ".J_Cat" );    //一级菜单li
  $catList.on( "mouseenter", function(){
    var index = $( this ).index();
    var $curCatList = $( ".cat-cont-bd>li:eq(" + index + ")" );     //鼠标移上去对应的二级菜单的li
    $catList.removeClass( "selected selected-prev" );
    $( this ).addClass( "selected" ).prev().addClass( "selected-prev" );
    $catCont.show();
    $curCatList.css( "display", "list-item").siblings().css( "display", "none" );
    var viewHeight = $( window ).height();
    var catOffsetTop = $( this ).offset().top - $( window ).scrollTop();
    var catBottomGap = viewHeight - catOffsetTop;
    var catPositionTop = $( this ).position().top;
    var catContHeight = $catCont.height();
    if( catBottomGap >= catContHeight ) {
      $catCont.css( "top", catPositionTop );
    }
    if( catBottomGap < catContHeight && viewHeight >= catContHeight ) {
      $catCont.css( "top", catPositionTop - ( catContHeight - catBottomGap ) - 20 );
    }
    if( catBottomGap < catContHeight && viewHeight < catContHeight ) {
      $catCont.css( "top", catPositionTop );
    }
    if( catBottomGap <= 66 ) {
      $catCont.css( "top", catPositionTop - catContHeight + 33 );
    }
  }).on( "mouseleave", function( event ){
    if( !$( event.relatedTarget ).hasClass( "cat-cont-bd" ) ){  //交互灾难:离开一级菜单划不到二级菜单,如何知道离开一级菜单后进入的是二级菜单?jquery提供属性:event.relatedTarget(离开后进入的对象)
      $( this ).removeClass( "selected selected-prev" );
      $catCont.hide();
    }
  });
  $catCont.on( "mouseleave", function(){
    $catCont.hide();
    $catList.removeClass( "selected selected-prev" );
  });
});

更多关于jQuery相关内容感兴趣的读者可查看本站专题:《jQuery切换特效与技巧总结》、《jQuery扩展技巧总结》、《jQuery常用插件及用法总结》、《jQuery拖拽特效与技巧总结》、《jQuery表格(table)操作技巧汇总》、《jquery中Ajax用法总结》、《jQuery常见经典特效汇总》、《jQuery动画与特效用法总结》及《jquery选择器用法总结》

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


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


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


相关推荐: 新三国志曹操传主线渭水交兵攻略  Laravel如何创建自定义中间件?(Middleware代码示例)  如何构建满足综合性能需求的优质建站方案?  昵图网官网入口 昵图网素材平台官方入口  个人网站制作流程图片大全,个人网站如何注销?  网页设计与网站制作内容,怎样注册网站?  如何挑选优质建站一级代理提升网站排名?  Laravel如何记录自定义日志?(Log频道配置)  Laravel如何使用模型观察者?(Observer代码示例)  Microsoft Edge如何解决网页加载问题 Edge浏览器加载问题修复  Laravel Blade模板引擎语法_Laravel Blade布局继承用法  Laravel如何使用Blade组件和插槽?(Component代码示例)  Linux系统运维自动化项目教程_Ansible批量管理实战  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  如何在万网主机上快速搭建网站?  使用C语言编写圣诞表白程序  车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?  Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】  Windows驱动无法加载错误解决方法_驱动签名验证失败处理步骤  Android仿QQ列表左滑删除操作  成都网站制作公司哪家好,四川省职工服务网是做什么用?  如何在建站之星绑定自定义域名?  JavaScript如何实现继承_有哪些常用方法  Laravel怎么连接多个数据库_Laravel多数据库连接配置  logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?  edge浏览器无法安装扩展 edge浏览器插件安装失败【解决方法】  Laravel怎么使用Blade模板引擎_Laravel模板继承与Component组件复用【手册】  专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?  Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?  Edge浏览器怎么启用睡眠标签页_节省电脑内存占用优化技巧  高性能网站服务器配置指南:安全稳定与高效建站核心方案  Laravel中间件起什么作用_Laravel Middleware请求生命周期与自定义详解  移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?  Python进程池调度策略_任务分发说明【指导】  Android使用GridView实现日历的简单功能  Laravel如何实现全文搜索_Laravel Scout集成Algolia或Meilisearch教程  b2c电商网站制作流程,b2c水平综合的电商平台?  Laravel怎么使用Collection集合方法_Laravel数组操作高级函数pluck与map【手册】  Laravel如何实现本地化和多语言支持?(i18n教程)  个人摄影网站制作流程,摄影爱好者都去什么网站?  使用Dockerfile构建java web环境  大连网站制作公司哪家好一点,大连买房网站哪个好?  Laravel如何使用Passport实现OAuth2?(完整配置步骤)  如何在橙子建站中快速调整背景颜色?  Win11怎么修改DNS服务器 Win11设置DNS加速网络【指南】  Laravel怎么使用Session存储数据_Laravel会话管理与自定义驱动配置【详解】  Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程  Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives  Laravel如何实现URL美化Slug功能_Laravel使用eloquent-sluggable生成别名【方法】  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?