本文实例为大家分享了jquery实现多级菜单效果展示的具体代码,供大家参考,具体内容如下
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> *{ margin:0; padding:0; font-size:14px; } ul,li{ list-style:none; } .box{ margin:10px; padding:10px; width:300px; border:1px dashed #008000; /*渐进增强:首先设置一个纯色的背景,对于不兼容css3的浏览器来说会使用纯色,对于兼容的浏览器,我们在下面在额外的增加一些渐变色,这样会覆盖掉上面*/ background:#ffe470; background:-webkit-linear-gradient(top left,#2b93d2,#fa5889,#cde074,#ffe470); background:-moz-linear-gradient(top left,#2b93d2,#fa5889,#cde074,#ffe470); background:-o-linear-gradient(top left,#2b93d2,#fa5889,#cde074,#ffe470); background:linear-gradient(top left,#2b93d2,#fa5889,#cde074,#ffe470); } .box li{ position:relative; line-height:30px; } .box em{ position:absolute; top:7px; left:0; width:16px; height:16px; background:url("img/icon.png") no-repeat -59px -28px; cursor:pointer; } .box span{ display:block; padding-left:20px; } .box em.open{ background-position:-42px -28px; } .box .two{ margin-left:20px; } .box .three{ margin-left:40px; } .box .four{ margin-left:60px; } .box .two,.box .three,.box .four{ display:none; } </style> </head> <body> <div class='box' id='box'> <ul> <li> <em></em> <span>第一级第一个</span> <ul class='two'> <li><span>第二级第一个</span></li> <li> <em></em><span>第二级第二个</span> <ul class='three'> <li><span>第三极第一个</span></li> <li><span>第三极第二个</span></li> <li> <em></em><span>第三极第三个</span> <ul class='four'> <li><span>第四级第一个</span></li> <li><span>第四级第二个</span></li> <li><span>第四级第三个</span></li> </ul> </li> </ul> </li> <li> <em></em><span>第二级第三个</span> <ul class='three'> <li><span>第三级第一个</span></li> <li><span>第三级第二个</span></li> <li><span>第三级第三个</span></li> </ul> </li> </ul> </li> </ul> <ul> <li> <em></em> <span>第一级第一个</span> <ul class='two'> <li><span>第二级第一个</span></li> <li> <em></em><span>第二级第二个</span> <ul class='three'> <li><span>第三极第一个</span></li> <li><span>第三极第二个</span></li> <li> <em></em><span>第三极第三个</span> <ul class='four'> <li><span>第四级第一个</span></li> <li><span>第四级第二个</span></li> <li><span>第四级第三个</span></li> </ul> </li> </ul> </li> <li> <em></em><span>第二级第三个</span> <ul class='three'> <li><span>第三级第一个</span></li> <li><span>第三级第二个</span></li> <li><span>第三级第三个</span></li> </ul> </li> </ul> </li> </ul> </div> <script> var $box = $('#box'); $box.find("span").each(function(index,item){ var $pre = $(this).prev(); if($pre[0] && $pre[0].tagName.toLowerCase()==="em"){ $(this).css("cursor","pointer"); } }) //jQuery里面除了bind、unbind、on、off、click这些绑定事件的方式外,还提供了一种delegate(1.7版本以前用的是live) function fn(){ var $par = $(this).parent(); var $ul = $($par.children('ul')[0]); var $em = $($par.children('em')[0]); if($ul.length>0){ $ul.toggle(); $em.toggleClass("open"); var isBlock = $ul.css('display')==="block""display","none"); $par.find("em").removeClass("open"); } } } $box.delegate('em',"click",fn)//给$box绑定点击事件,如果当前的事件源是em的话,我们执行fn $box.delegate('span',"click",fn)//给$box绑定点击事件,如果当前的事件源是em的话,我们执行fn </script> </body> </html>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
狼山资源网 Copyright www.pvsay.com
暂无“基于jquery实现多级菜单效果”评论...
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。