이 기사의 예에서는 Tmall 사이드 웹 메뉴 효과를 모방하기 위해 JavaScript CSS를 구현하는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 세부 내용은 다음과 같습니다.
직접 작성한 Tmall 같은 메뉴 효과입니다. 2차 분류 기능은 구현했지만 미화는 하지 않았습니다. JS 기능을 직접 구현했습니다. 메인 카테고리에 마우스를 올리면 계층 카테고리가 오른쪽으로 늘어납니다. 이는 현재 Taobao, Tmall Shopping, JD.com에서 사용하는 탐색 메뉴 효과입니다. 테스트할 때 메뉴를 먼저 클릭하면 메인 메뉴가 표시됩니다. .
런닝 효과 스크린샷은 다음과 같습니다.
온라인 데모 주소는 다음과 같습니다.
http://demo.jb51.net/js/2015/js-css-ftamil-web-menu-style-codes/
구체적인 코드는 다음과 같습니다.
<!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>
이 기사가 모든 사람의 JavaScript 프로그래밍 설계에 도움이 되기를 바랍니다.