Das Beispiel in diesem Artikel beschreibt die JavaScript-Implementierung eines mehrstufigen Webseiten-Menüeffekts, der sich nach rechts erstreckt. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:
JavaScript wird hier verwendet, um den Effekt eines mehrstufigen Webmenüs zu erzielen, das sich nach rechts erstreckt. Wenn die Maus auf dem Hauptmenü auf der linken Seite platziert wird, wird auf der rechten Seite ein sekundäres Menü angezeigt . Es ist von einem Neuling geschrieben und muss an einigen Stellen verbessert werden.
Der Screenshot des Laufeffekts sieht wie folgt aus:
Die Online-Demo-Adresse lautet wie folgt:
http://demo.jb51.net/js/2015/js-right-show-web-menu-codes/
Der spezifische Code lautet wie folgt:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>向右伸出的多级菜单</title> <style type="text/css"> *{ padding:0; margin:0; } li{ list-style:none; } ul{ background:rgb(200,13,34); width:250px; float:left; } b{ display:block; width:500px; height:40px; background:rgb(24,122,173); } ul li{ height:32px; } ul li:hover{ height:32px; background:orange; } #nav1{ position:absolute; } #nav3{ position:relative; left:0; background:green; visibility:hidden; } </style> </head> <body> <div id="nav1"> <ul id="nav2"> <li>文学</li> <li>艺术</li> <li>摄影</li> </ul> <ul id="nav3"> <li>1-1</li> <li>2-1</li> <li>3-1</li> </ul> </div> <script type="text/javascript"> var focus=false; var showdiv=document.getElementById("nav3"); showdiv.onmouseover=function(){ focus=true; this.style.visibility="visible"; } showdiv.onmouseout=function(){ focus=false; this.style.visibility="hidden"; } function bindToggle(index,flag){ var showdiv= document.getElementById("nav3"); var delayshow= function(){ if(flag ==1 ){ showdiv.style.visibility="visible"; showdiv.style.top=index*32+"px"; }else { if(!focus){ showdiv.style.visibility="hidden"; } } } return function(){ setTimeout(delayshow,150); } } var menu=document.getElementById("nav2").childNodes; var index=0; for(var i=0;i<menu.length;i++){ if(1==menu[i].nodeType){ menu[i].onmouseover= bindToggle.call(menu[i],index,1); menu[i].onmouseout= bindToggle.call(menu[i],index,0); index++; } } </script> </body> </html>
Ich hoffe, dass dieser Artikel für das JavaScript-Programmierdesign aller hilfreich sein wird.