js树形菜单

举报
tea_year 发表于 2021/12/23 01:11:48 2021/12/23
【摘要】 第一步:HTML页面设计 <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>树形菜单</title> <link rel="stylesheet" href="../css/tree....

第一步:HTML页面设计


  
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>树形菜单</title>
  6. <link rel="stylesheet" href="../css/tree.css" />
  7. <script src="../js/tree.js"></script>
  8. </head>
  9. <body>
  10. <!--<span class="test" style="background-image: url('../img/plus.jpg');"> <!--1.设计网页布局-->
  11. <ul id="outerul">
  12. <li>名站导航
  13. <ul>
  14. <li><a href="#">毕丽巴</a></li>
  15. <li><a href="#">旅游吧</a>
  16. <ul>
  17. <li>丽江</li>
  18. <li>杭州</li>
  19. <li>呼伦贝尔</li>
  20. </ul>
  21. </li>
  22. <li><a href="#">狗粑粑</a></li>
  23. <li><a href="#">驴妈妈</a></li>
  24. </ul>
  25. </li>
  26. <li>常用软件
  27. <ul>
  28. <li>流氓软件</li>
  29. <li>网络安全</li>
  30. <li>理财软件</li>
  31. <li>天猫多多</li>
  32. </ul>
  33. </li>
  34. <li>热门游戏
  35. <ul>
  36. <li>王者农药</li>
  37. <li>绝地求死</li>
  38. <li>大话东游</li>
  39. <li>狗熊联盟</li>
  40. </ul>
  41. </li>
  42. <li>美女娱乐
  43. <ul>
  44. <li>赵丽英</li>
  45. <li>林枝玲</li>
  46. <li>范冰桶</li>
  47. <li>安气辣</li>
  48. </ul>
  49. </li>
  50. </ul>
  51. </body>
  52. </html>

第二步:CSS样式设计


  
  1. body{font-size: 12px;line-height: 20px;}
  2. #outerul{
  3. text-align: left;
  4. margin:0px;
  5. padding: 0;cursor: pointer;
  6. }
  7. #outerurl ul lia{
  8. text-decoration: none;color:black;
  9. }
  10. #outerul li{
  11. margin:-2px 0 0 -20px;
  12. padding: 0;
  13. list-style: none;
  14. }
  15. #outerul .plus{
  16. float:left;
  17. width:32px;height: 15px;
  18. background-position: 0 50%;
  19. background-repeat: no-repeat;
  20. background-size: cover;
  21. border:1px solid #FF0000;
  22. }
  23. #outerul .sub{
  24. float: left;width:18px;
  25. height: 15px;
  26. background-position: 0 50%;
  27. background-size: cover;
  28. background-repeat: no-repeat;
  29. }
  30. /*.test{display: block;background-repeat: no-repeat;}*/

第三部:JS设计


  
  1. /*树形菜单:冒泡排序*/
  2. var menu,subMenus,menuIcon;
  3. function init(){
  4. menuArray=document.getElementById('outerul').getElementsByTagName('li');
  5. for(var i=0;i<menuArray.length;i++){
  6. subMenus=menuArray[i].getElementsByTagName('ul');
  7. if(subMenus.length>0){
  8. menuIcon=document.createElement('span');
  9. menuIcon.className='plus';
  10. menuIcon.style.backgroundImage='url(../img/plus.jpg)';
  11. menuIcon.onclick=function(){
  12. showHide(this.parentNode);
  13. }
  14. menuArray[i].insertBefore(menuIcon,menuArray[i].firstChild);
  15. subMenus[0].style.display='none';
  16. }else{
  17. menuIcon=document.createElement('span');
  18. menuIcon.className='sub';
  19. menuIcon.style.backgroundImage='url(../img/2.jpg)';
  20. menuArray[i].insertBefore(menuIcon,menuArray[i].firstChild);
  21. }//end if
  22. }
  23. }
  24. /*隐藏方法*/
  25. function showHide(parentNode){
  26. var ul=parentNode.getElementsByTagName('ul')[0];
  27. ul.style.display=(ul.style.display=='none')?'block':'none';
  28. var span=parentNode.getElementsByTagName('span')[0];
  29. span.style.backgroundImage=(ul.style.display=='none')?'url(../img/plus.jpg':'url(../img/sub.jpg)';
  30. }
  31. window.onload=init;

效果如下:

WEB入门实践视频课:https://edu.csdn.net/course/detail/8502

文章来源: aaaedu.blog.csdn.net,作者:tea_year,版权归原作者所有,如需转载,请联系作者。

原文链接:aaaedu.blog.csdn.net/article/details/103026267

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。