L'exemple de cet article décrit l'implémentation JS CSS d'un menu arborescent avec des effets similaires aux amis QQ et aux listes noires. Partagez-le avec tout le monde pour votre référence. Les détails sont les suivants :
Le menu présenté aujourd'hui est le meilleur, mais certaines icônes manquent et les chemins sont toujours là. Les amis qui veulent vraiment l'utiliser peuvent simplement créer deux icônes de menu pliable et les télécharger en fonction des chemins. Il imite la fonction de menu du panneau QQ. De nombreux amis aiment toujours beaucoup cette fonction. Je ne m'attendais pas à ce qu'elle puisse être implémentée avec si peu de code JS.
La capture d'écran de l'effet en cours d'exécution est la suivante :
L'adresse de la démo en ligne est la suivante :
http://demo.jb51.net/js/2015/js-css-qq-hy-hmd-style-menu-codes/
Le code spécifique est le suivant :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE>QQ好友/黑名单的树型菜单</TITLE> </HEAD> <BODY> <script> if (!document.getElementById) document.getElementById = function() { return null; } function initializeMenu(menuId, actuatorId) { var menu = document.getElementById(menuId); var actuator = document.getElementById(actuatorId); if (menu == null || actuator == null) return; actuator.parentNode.style.backgroundImage = "url()"; actuator.onclick = function() { var display = menu.style.display; this.parentNode.style.backgroundImage = (display == "block") ? "url()" : "url()"; menu.style.display = (display == "block") ? "none" : "block"; return false; } } window.onload = function() { initializeMenu("productsMenu", "productsActuator"); initializeMenu("newPhonesMenu", "newPhonesActuator"); initializeMenu("compareMenu", "compareActuator"); } </script> <style> body { font-family: verdana, helvetica, arial, sans-serif; } #mainMenu { background-color: #EEE; border: 1px solid #CCC; color: #000; width: 203px; } #menuList { margin: 0px; padding: 10px 0px 10px 15px; } li.menubar { background: url() no-repeat 0em 0.3em; font-size: 12px; line-height: 1.5em; list-style: none outside; } .menu, .submenu { display: none; margin-left: 15px; padding: 0px; } .menu li, .submenu li { background: url() no-repeat 0em 0.3em; list-style: none outside; } a.actuator { background-color: transparent; color: #000; font-size: 12px; padding-left: 15px; text-decoration: none; } a.actuator:hover { text-decoration: underline; } .menu li a, .submenu li a { background-color: transparent; color: #000; font-size: 12px; padding-left: 15px; text-decoration: none; } .menu li a:hover, submenu li a:hover { text-decoration: underline; } span.key { text-decoration: underline; } </style> </head> <body> <div id="mainMenu"> <ul id="menuList"> <li class="menubar"> <a href="#" id="productsActuator" class="actuator">图秀地带收藏夹</a> <ul id="productsMenu" class="menu"> <li> <a href="#" id="newPhonesActuator" class="actuator">我的好友</a> <ul id="newPhonesMenu" class="submenu"> <li><a href="#">张三[10000001]</a></li> <li><a href="#">李四[10000002]</a></li> <li><a href="#">张三[10000001]</a></li> <li><a href="#">李四[10000002]</a></li> </ul> </li> <li> <a href="#" id="compareActuator" class="actuator">陌生人</a> <ul id="compareMenu" class="submenu"> <li><a href="#">张三[10000001]</a></li> <li><a href="#">李四[10000002]</a></li> <li><a href="#">张三[10000001]</a></li> <li><a href="#">李四[10000002]</a></li> </ul> </li> </ul> </li> </ul> </div> </body> </BODY> </HTML>
J'espère que cet article sera utile à la programmation JavaScript de chacun.