分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > IT知识

jquery三级导航,级联菜单精简

发布时间:2023-09-06 02:06责任编辑:傅花花关键词:暂无标签

这是使用jQuery编辑的二级导航栏,效果是这样的。

而事实上,关于样式部分完全可以自由布局和修改,只要结构正确就行。

1.下面是html部分

<ul id="nav"> ???????<li><a href="#">一级导航1</a></li> ???????<li><a href="#">一级导航2</a> ???????????<ul> ???????????????<li><a href="#">二级导航1</a> ???????????????????<ul> ???????????????????????<li><a href="#">三级导航1</a></li> ???????????????????????<li><a href="#">三级导航2</a></li> ???????????????????</ul> ???????????????</li> ???????????????<li><a href="#">二级导航2</a></li> ???????????????<li><a href="#">二级导航3</a></li> ???????????</ul> ???????</li> ???????<li><a href="#">一级导航3</a> ???????????<ul> ???????????????<li><a href="#">二级导航1</a> ???????????????????<ul> ???????????????????????<li><a href="#">三级导航1</a></li> ???????????????????????<li><a href="#">三级导航2</a></li> ???????????????????</ul> ???????????????</li> ???????????????<li><a href="#">二级导航2</a></li> ???????????????<li><a href="#">二级导航3</a></li> ???????????</ul> ???????</li> ???</ul>

关于这部分,也是单纯的ul>li>ul>li...的嵌套

想要几个就加几个li,至于是在第一个li里追加ul还是在第二个li里追加,同样视情况而定就好。

总之第一层

<ul id="nav"> ???????<li><a href="#">一级导航1</a></li> ???????<li><a href="#">一级导航2</a> ???????????。。。 ???????</li> ???????<li><a href="#">一级导航3</a> ???????????。。。 ???????</li> ???</ul>

第二层

<ul id="nav"> ???????<li><a href="#">一级导航1</a></li> ???????<li><a href="#">一级导航2</a> ???????????<ul> ???????????????<li><a href="#">二级导航1</a> ???????????????????。。。 ???????????????</li> ???????????????<li><a href="#">二级导航2</a></li> ???????????????<li><a href="#">二级导航3</a></li> ???????????</ul> ???????</li> ???????<li><a href="#">一级导航3</a> ???????????<ul> ???????????????<li><a href="#">二级导航1</a> ???????????????????。。。 ???????????????</li> ???????????????<li><a href="#">二级导航2</a></li> ???????????????<li><a href="#">二级导航3</a></li> ???????????</ul> ???????</li> ???</ul>

第三层

<ul id="nav"> ???????<li><a href="#">一级导航1</a></li> ???????<li><a href="#">一级导航2</a> ???????????<ul> ???????????????<li><a href="#">二级导航1</a> ???????????????????<ul> ???????????????????????<li><a href="#">三级导航1</a></li> ???????????????????????<li><a href="#">三级导航2</a></li> ???????????????????</ul> ???????????????</li> ???????????????<li><a href="#">二级导航2</a></li> ???????????????<li><a href="#">二级导航3</a></li> ???????????</ul> ???????</li> ???????<li><a href="#">一级导航3</a> ???????????<ul> ???????????????<li><a href="#">二级导航1</a> ???????????????????<ul> ???????????????????????<li><a href="#">三级导航1</a></li> ???????????????????????<li><a href="#">三级导航2</a></li> ???????????????????</ul> ???????????????</li> ???????????????<li><a href="#">二级导航2</a></li> ???????????????<li><a href="#">二级导航3</a></li> ???????????</ul> ???????</li> ???</ul>

多少自己定,嗯!

2.css部分

这个我惭愧的说,你们还是自己按效果图去做吧!自己实在是可悲啊!居然想不出个样式来。

 ???????*{ ???????????margin: 0; ???????????padding: 0; ???????} ???????body { ???????????font-size: 0.85em; ???????????font-family: Verdana, Array, Helvetica, sans-serif; ???????} ???????#nav, #nav ul { ???????????margin: 0; ???????????padding: 0; ???????????list-style-type: none; ???????????list-style-position: outside; ???????????position: relative; ???????????line-height: 1.5em; ???????} ???????#nav a { ???????????display: block; ???????????padding: 0 5px; ???????????border: 1px solid #333; ???????????color: #fff; ???????????text-decoration: none; ???????????background: #f60; ???????} ???????#nav a:hover { ???????????background: #fff; ???????????color: #333; ???????} ???????#nav li { ???????????float: left; ???????????position: relative; ???????} ???????#nav ul { ???????????position: absolute; ???????????display: none; ???????????width: 12em; ???????????top: 1.5em; ???????} ???????#nav li ul a { ???????????width: 12em; ???????????display: block; ???????????height: auto; ???????????float: left; ???????} ???????#nav ul ul { ???????????top: auto; ???????????position: absolute; ???????????display: none; ???????????left: 12em; ???????????margin-bottom: 10px; ???????????z-index: 22; ???????}

3.jquery部分

导入jquery后就编辑以下js脚本。

function main(){ ???????$("#nav ul").css({display: "none"}); ???????$("#nav li").hover(function(){ ???????????$(this).find(‘ul:first‘).css({visibility:"visible"}).show(400); ???????},function(){ ???????????$(this).find(‘ul:first‘).css({visibility:"hidden"}); ???????}); ???}$(function(){ ???????main(); ???})

大致的意思是:

  1)先声明个函数

  2)先将第二个第三个的ul给隐藏!通过css样式,利用jQuery里的$(selecter).css("名":"值");

    //事实上,这部是针对游览器兼容的

  3)然后使用鼠标悬浮和移开的函数进行编辑。

    $(selecter).hover(【鼠标悬浮自定义函数】,【鼠标移开自定义函数】);

    而里面则是

      【鼠标悬浮自定义函数】查找选中的li下的第一个ul,然后将其显示,并以400秒的速度

      【鼠标移开自定义函数】查找选中的li下的第一个ul,然后将其隐藏。

jquery三级导航,级联菜单精简

原文地址:https://www.cnblogs.com/yinwangyizhi/p/9391011.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved