Home > Article > Web Front-end > JavaScript CSS implements Tmall-like side web menu effect_javascript skills
The example in this article describes the implementation of JavaScript CSS to imitate the Tmall side web menu effect. Share it with everyone for your reference. The details are as follows:
This is a Tmall-like menu effect written by myself. The function of the secondary classification has been implemented, but it has not been beautified. Friends who use it can improve it themselves. The JS function has been implemented. Move the mouse on the main category. The hierarchical categories stretch out to the right. This is the navigation menu effect currently used by Taobao, Tmall Shopping, and JD.com. When testing, please click the menu first, and the main menu will be displayed.
The screenshot of the running effect is as follows:
The online demo address is as follows:
http://demo.jb51.net/js/2015/js-css-ftamil-web-menu-style-codes/
The specific code is as follows:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>仿天猫侧边网页菜单</title> <style type="text/css"> *{margin:0; padding:0;} body{ font-size:14px; font-family:"宋体";} h1, h2, h3{ font-size:14px; font-weight:normal;} li{ list-style:none;} a{ color:#333; text-decoration:none;} #nav{ width:202px; height:35px; background:#C00; margin:50px 0 0 20px;} #nav h1{ padding-left:17px; line-height:35px; color:#fff; margin-right:17px;} #box{ width:200px; border:1px solid #B00; border-top:none; margin-left:20px; display:none;} #subnav{width:200px;} #subnav .list{ width:200px; height:30px;} #subnav .list h2{ width:160px; height:30px; padding-left:30px; line-height:30px; margin-right:10px;} #subnav .list a:hover, #subnav .active a:hover{ color:#900; font-weight:bold;} #subnav .active{ width:200px; height:30px; border-bottom:1px solid #b00; border-top:1px solid #b00; position:relative;} #subnav .active h2{ width:170px; height:30px; padding-left:30px; line-height:30px; background:#fff; position:absolute; left:1px; top:0; z-index:4;} #subnav .list_nav{ width:500px; overflow:hidden; border:1px solid #b00; position:absolute; left:200px; top:-1px; z-index:3; display:none;} </style> <script type="text/javascript"> window.onload=function() { var oNav=document.getElementById('nav'); var oBox=document.getElementById('box'); var oSubnav=document.getElementById('subnav'); var aLi=oSubnav.getElementsByTagName('li'); var i=0; oNav.onclick=function() { if(oBox.style.display=='block') { oBox.style.display='none'; } else { oBox.style.display='block'; } } for(i=0;i<aLi.length;i++) { if(aLi[i].className=='list') { aLi[i].onmousemove=function() { for(i=0;i<aLi.length;i++) { var aDivList=this.getElementsByTagName('div')[0]; aDivList.style.display='block'; this.className='active'; } } aLi[i].onmouseout=function() { for(i=0;i<aLi.length;i++) { var aDivList=this.getElementsByTagName('div')[0]; aDivList.style.display='none'; this.className='list'; } } } } }; </script> </head> <body> <div id="nav"> <h1>所有商品分类</h1> </div> <div id="box"> <ul id="subnav"> <li class="list"> <h2><a href="#">服饰内衣、鞋靴运动</a></h2> <div class="list_nav"> <ul> <li>1</li> <li>1</li> <li>1</li> <li>1</li> </ul> </div> </li> <li class="list"> <h2><a href="#">电子商品</a></h2> <div class="list_nav"> <ul> <li>222</li> <li>2222</li> <li>2222</li> <li>22222</li> </ul> </div> </li> <li class="list"> <h2><a href="#">服饰内衣、鞋靴运动</a></h2> <div class="list_nav"> <ul> <li>3333</li> <li>3333</li> <li>3333</li> <li>3333</li> </ul> </div> </li> <li class="list"> <h2><a href="#">服饰内衣、鞋靴运动</a></h2> <div class="list_nav"> <ul> <li>1</li> <li>1</li> <li>1</li> <li>1</li> </ul> </div> </li> </ul> </div> </body> </html>
I hope this article will be helpful to everyone’s JavaScript programming design.