首页 > 编程 > JavaScript > 正文

javascript简单实现滑动菜单效果的方法

2019-11-20 11:59:31
字体:
来源:转载
供稿:网友

本文实例讲述了javascript简单实现滑动菜单效果的方法。分享给大家供大家参考。具体如下:

整个javascript代码共42行,其中主要函数Slide代码26行,可以改进哦!

<!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>a,body,div,h1,h2,li,ul{  margin:0;  padding:0}a{display:block;text-decoration:none;height:25px;color:#456;background-color:#ABC;cursor:pointer;}a:hover{color:#123;background-color:#789;font-weight:bold;}body{  font:12px/18px "Times New Roman",Times,"宋体",serif;  text-align:center;}h1{  height:100px;  width:25px;  position:absolute;  top:-1px;  left:123px;  cursor:pointer;  color:#89A;  font-size:18px;   line-height:50px;  background-color:#234;}h2{  height:24px;  font-size:12px;  border-bottom:1px solid #4C6CB9;  color:#BBB;  font-weight:600;  cursor:pointer;}li{height:25px;list-style:none}#Container{width:800px;background-color:#DDD;border: 1px solid #999;margin:10px auto}#Top{height:30px;background-color:#DDD;border: 1px solid #999;}#Logo{height:100px;background-color:#DDD;border: 1px solid #999;}#Nav{height:30px;background-color:#DDD;border: 1px solid #999;}#SideBar{  position:fixed!important;  position:absolute;  top:200px;  left:0px;}#SideBar a,#SideBar h2,#SideBar li,#SideBar ul{width:120px}#Main{height:800px;background-color:#DDD;border: 1px solid #999;}#Footer{height:60px;background-color:#DDD;border: 1px solid #999;}.Extracted{width:0px;}.Extrended{border:1px solid #555;background-color:#000;padding:1px}</style></head><body><div id="Container">  <div id="Top">顶条</div>  <div id="Logo">Logo</div>  <div id="Nav">导航条</div>  <div id="SideBar" class="Extrended">    <h1>菜单</h1>    <ul>      <h2>功能栏1</h2>      <li><a href="">功能1</a></li>      <li><a href="">功能2</a></li>      <li><a href="">功能3</a></li>      <li><a href="">功能4</a></li>      <li><a href="">功能5</a></li>    </ul>    <ul>      <h2>功能栏2</h2>      <li><a href="">功能1</a></li>      <li><a href="">功能2</a></li>      <li><a href="">功能3</a></li>      <li><a href="">功能4</a></li>      <li><a href="">功能5</a></li>    </ul>    <ul>      <h2>功能栏3</h2>      <li><a href="">功能1</a></li>      <li><a href="">功能2</a></li>      <li><a href="">功能3</a></li>      <li><a href="">功能4</a></li>      <li><a href="">功能5</a></li>    </ul>    <ul>      <h2>功能栏4</h2>      <li><a href="">功能1</a></li>      <li><a href="">功能2</a></li>      <li><a href="">功能3</a></li>      <li><a href="">功能4</a></li>      <li><a href="">功能5</a></li>    </ul>    <ul>      <h2>功能栏5</h2>      <li><a href="">功能1</a></li>      <li><a href="">功能2</a></li>      <li><a href="">功能3</a></li>      <li><a href="">功能4</a></li>      <li><a href="">功能5</a></li>    </ul>    <ul>      <h2>功能栏6</h2>      <li><a href="">功能1</a></li>      <li><a href="">功能2</a></li>      <li><a href="">功能3</a></li>      <li><a href="">功能4</a></li>      <li><a href="">功能5</a></li>    </ul>  </div>  <div id="Main">内容区</div>  <div id="Footer">底条</div></div><script type="text/javascript">function $(e){return document.getElementById(e)}function Slide(Element,Mod){  var LongthMax,LongthMin,Property,Count=25,Accum,ID,Dlt,DltDlt;  if(Mod){    Property='left';    LongthMax=0;    LongthMin=-124;  }  else{    Property='height';    LongthMax=Element.children.length*25;    LongthMin=25;  }  DltDlt=(LongthMax-LongthMin)/(Count*5);  if(Element.style[Property]==LongthMax+'px')DltDlt=-DltDlt;  Accum=parseInt(Element.style[Property]);  Dlt=7*DltDlt;  ID=setInterval(function(){    if(Count--){      if(!(Count%5))Dlt-=DltDlt;      Accum+=Dlt;      Element.style[Property]=Math.floor(Accum)+'px';      return    }    clearInterval(ID);    Element.style[Property]=(DltDlt>0)? LongthMax+'px':LongthMin+'px';  },20);}$('SideBar').style.left='0px';$('SideBar').children[0].onclick=function(){  Slide(this.parentNode,1);};(function(Menu,i,tmp){  Menu=document.getElementsByTagName('ul');  for(i=Menu.length;i--;){    tmp=Menu[i];    tmp.style.overflow='hidden';    tmp.style.height='25px';    tmp.children[0].onclick=function(){      Slide(this.parentNode,0);    };  }}());</script></body></html>

希望本文所述对大家的javascript程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表