jQuery纵向导航菜单效果实现方法
2019/6/27 21:33:37
本文主要是介绍jQuery纵向导航菜单效果实现方法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
本文实例讲述了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纵向导航菜单效果实现方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-07-06vue 新建功能多条数据(还没和后端交互)还能看详情 数据是前端缓存到本地吗?-icode9专业技术文章分享
- 2024-05-30React Native常用组件-点击组件
- 2024-05-30uniapp+vue3+uv-ui手机端后台OA管理模板
- 2024-05-29Python网络爬虫的时候json=就是让你少写个json.dumps()
- 2024-05-27React Native常用组件-展示组件
- 2024-05-27React Native常用组件-列表组件
- 2024-05-09vue3开发前端表单缓存自定义指令,移动端h5必备插件
- 2024-05-09React Hooks在class组件中的使用方式
- 2024-03-30[OIDC in Action] 2. 基于OIDC(OpenID Connect)的SSO(纯JS客户端)
- 2024-03-29terraform jsonencode