首页 > 语言 > JavaScript > 正文

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

2024-05-06 16:23:48
字体:
来源:转载
供稿:网友

这篇文章主要介绍了javascript简单实现滑动菜单效果的方法,实例分析了javascript通过对页面元素与相关属性的操作实现滑动菜单效果的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下

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

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

 

 
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
  3. <html xmlns="http://www.w3.org/1999/xhtml"
  4. <head> 
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
  6. <title>滑动菜单</title> 
  7. <style> 
  8. a,body,div,h1,h2,li,ul{ 
  9. margin:0; 
  10. padding:0 
  11. a{display:block;text-decoration:none;height:25px;color:#456;background-color:#ABC;cursor:pointer;} 
  12. a:hover{color:#123;background-color:#789;font-weight:bold;} 
  13. body{ 
  14. font:12px/18px "Times New Roman",Times,"宋体",serif; 
  15. text-align:center; 
  16. h1{ 
  17. height:100px; 
  18. width:25px; 
  19. position:absolute; 
  20. top:-1px; 
  21. left:123px; 
  22. cursor:pointer; 
  23. color:#89A; 
  24. font-size:18px;  
  25. line-height:50px; 
  26. background-color:#234; 
  27. h2{ 
  28. height:24px; 
  29. font-size:12px; 
  30. border-bottom:1px solid #4C6CB9; 
  31. color:#BBB; 
  32. font-weight:600; 
  33. cursor:pointer; 
  34. li{height:25px;list-style:none} 
  35. #Container{width:800px;background-color:#DDD;border: 1px solid #999;margin:10px auto} 
  36. #Top{height:30px;background-color:#DDD;border: 1px solid #999;} 
  37. #Logo{height:100px;background-color:#DDD;border: 1px solid #999;} 
  38. #Nav{height:30px;background-color:#DDD;border: 1px solid #999;} 
  39. #SideBar{ 
  40. position:fixed!important; 
  41. position:absolute; 
  42. top:200px; 
  43. left:0px; 
  44. #SideBar a,#SideBar h2,#SideBar li,#SideBar ul{width:120px} 
  45. #Main{height:800px;background-color:#DDD;border: 1px solid #999;} 
  46. #Footer{height:60px;background-color:#DDD;border: 1px solid #999;} 
  47. .Extracted{width:0px;} 
  48. .Extrended{border:1px solid #555;background-color:#000;padding:1px} 
  49. </style> 
  50. </head> 
  51. <body> 
  52. <div id="Container"
  53. <div id="Top">顶条</div> 
  54. <div id="Logo">Logo</div> 
  55. <div id="Nav">导航条</div> 
  56. <div id="SideBar" class="Extrended"
  57. <h1>菜单</h1> 
  58. <ul> 
  59. <h2>功能栏1</h2> 
  60. <li><a href="">功能1</a></li> 
  61. <li><a href="">功能2</a></li> 
  62. <li><a href="">功能3</a></li> 
  63. <li><a href="">功能4</a></li> 
  64. <li><a href="">功能5</a></li> 
  65. </ul> 
  66. <ul> 
  67. <h2>功能栏2</h2> 
  68. <li><a href="">功能1</a></li> 
  69. <li><a href="">功能2</a></li> 
  70. <li><a href="">功能3</a></li> 
  71. <li><a href="">功能4</a></li> 
  72. <li><a href="">功能5</a></li> 
  73. </ul> 
  74. <ul> 
  75. <h2>功能栏3</h2> 
  76. <li><a href="">功能1</a></li> 
  77. <li><a href="">功能2</a></li> 
  78. <li><a href="">功能3</a></li> 
  79. <li><a href="">功能4</a></li> 
  80. <li><a href="">功能5</a></li> 
  81. </ul> 
  82. <ul> 
  83. <h2>功能栏4</h2> 
  84. <li><a href="">功能1</a></li> 
  85. <li><a href="">功能2</a></li> 
  86. <li><a href="">功能3</a></li> 
  87. <li><a href="">功能4</a></li> 
  88. <li><a href="">功能5</a></li> 
  89. </ul> 
  90. <ul> 
  91. <h2>功能栏5</h2> 
  92. <li><a href="">功能1</a></li> 
  93. <li><a href="">功能2</a></li> 
  94. <li><a href="">功能3</a></li> 
  95. <li><a href="">功能4</a></li> 
  96. <li><a href="">功能5</a></li> 
  97. </ul> 
  98. <ul> 
  99. <h2>功能栏6</h2> 
  100. <li><a href="">功能1</a></li> 
  101. <li><a href="">功能2</a></li> 
  102. <li><a href="">功能3</a></li> 
  103. <li><a href="">功能4</a></li> 
  104. <li><a href="">功能5</a></li> 
  105. </ul> 
  106. </div> 
  107. <div id="Main">内容区</div> 
  108. <div id="Footer">底条</div> 
  109. </div> 
  110. <script type="text/javascript"
  111. function $(e){return document.getElementById(e)} 
  112. function Slide(Element,Mod){ 
  113. var LongthMax,LongthMin,Property,Count=25,Accum,ID,Dlt,DltDlt; 
  114. if(Mod){ 
  115. Property='left'
  116. LongthMax=0; 
  117. LongthMin=-124; 
  118. else
  119. Property='height'
  120. LongthMax=Element.children.length*25; 
  121. LongthMin=25; 
  122. DltDlt=(LongthMax-LongthMin)/(Count*5); 
  123. if(Element.style[Property]==LongthMax+'px')DltDlt=-DltDlt; 
  124. Accum=parseInt(Element.style[Property]); 
  125. Dlt=7*DltDlt; 
  126. ID=setInterval(function(){ 
  127. if(Count--){ 
  128. if(!(Count%5))Dlt-=DltDlt; 
  129. Accum+=Dlt; 
  130. Element.style[Property]=Math.floor(Accum)+'px'
  131. return 
  132. clearInterval(ID); 
  133. Element.style[Property]=(DltDlt>0)? LongthMax+'px':LongthMin+'px'
  134. },20); 
  135. $('SideBar').style.left='0px'
  136. $('SideBar').children[0].onclick=function(){ 
  137. Slide(this.parentNode,1); 
  138. }; 
  139. (function(Menu,i,tmp){ 
  140. Menu=document.getElementsByTagName('ul'); 
  141. for(i=Menu.length;i--;){ 
  142. tmp=Menu[i]; 
  143. tmp.style.overflow='hidden'
  144. tmp.style.height='25px'
  145. tmp.children[0].onclick=function(){ 
  146. Slide(this.parentNode,0); 
  147. }; 
  148. }()); 
  149. </script> 
  150. </body> 
  151. </html> 

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

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

图片精选