首页 > 语言 > JavaScript > 正文

javascript制作的滑动图片菜单

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

本文给大家分享的是一款javascript制作的很漂亮的js滑动导航菜单,鼠标经过立即快速滑动切换显示。有需要的小火把可以参考下。

方法很简单,特效非常棒,这里就先不多废话了,直接上代码

 

 
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
  2. <html xmlns="http://www.w3.org/1999/xhtml"
  3. <head> 
  4. <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 
  5. <title>js滑动菜单</title> 
  6. <style> 
  7. * {margin:0; padding:0} 
  8. .sm {list-style:none; width:459px; height:100px; display:block; overflow:hidden} 
  9. .sm li {float:left; display:inline; overflow:hidden} 
  10. </style> 
  11. <script type="text/javascript"
  12. var slideMenu=function(){ 
  13. var sp,st,t,m,sa,l,w,sw,ot; 
  14. return
  15. build:function(sm,sw,mt,s,sl,h){ 
  16. sp=s; st=sw; t=mt; 
  17. m=document.getElementById(sm); 
  18. sa=m.getElementsByTagName('li'); 
  19. l=sa.length; w=m.offsetWidth; sw=w/l; 
  20. ot=Math.floor((w-st)/(l-1)); var i=0; 
  21. for(i;i<l;i++){s=sa[i]; s.style.width=sw+'px'this.timer(s)} 
  22. if(sl!=null){m.timer=setInterval(function(){slideMenu.slide(sa[sl-1])},t)} 
  23. }, 
  24. timer:function(s){s.onmouseover=function(){clearInterval(m.timer);m.timer=setInterval(function() 
  25.  
  26.  
  27. {slideMenu.slide(s)},t)}}, 
  28. slide:function(s){ 
  29. var cw=parseInt(s.style.width,'10'); 
  30. if(cw<st){ 
  31. var owt=0; var i=0; 
  32. for(i;i<l;i++){ 
  33. if(sa[i]!=s){ 
  34. var o,ow; var oi=0; o=sa[i]; ow=parseInt(o.style.width,'10'); 
  35. if(ow>ot){oi=Math.floor((ow-ot)/sp); oi=(oi>0)?oi:1; o.style.width=(ow-oi) 
  36.  
  37.  
  38. +'px'
  39. owt=owt+(ow-oi)}} 
  40. s.style.width=(w-owt)+'px'
  41. }else{clearInterval(m.timer)} 
  42. }; 
  43. }(); 
  44. </script> 
  45. </head> 
  46. <body onload="slideMenu.build('sm',200,10,10,1)"
  47. <ul id="sm" class="sm"
  48. <li><img src="1.gif" alt="" /></li> 
  49. <li><img src="2.gif" alt="" /></li> 
  50. <li><img src="3.gif" alt="" /></li> 
  51. <li><img src="4.gif" alt="" /></li> 
  52. </ul> 
  53. </body> 
  54. </html> 

再来一个网友实现的滑动菜单特效

 

 
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
  2. <html xmlns="http://www.w3.org/1999/xhtml"
  3. <head> 
  4. <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 
  5. <title>js十分好看的滑动菜单效果。</title> 
  6. <style type="text/css"
  7. body{ 
  8. margin:10px; 
  9. padding:10px; 
  10. a:link { text-decoration: none;color: blue} 
  11. a:active { text-decoration:blink} 
  12. a:hover { text-decoration:underline;color: red} 
  13. a:visited { text-decoration: none;color: green} 
  14. body,td,div,span,li{ 
  15. font-size:12px; 
  16. .title01,.title02{ 
  17. color:#00b; 
  18. font-weight:bold; 
  19. #DoorP{ 
  20. width:200px; 
  21. height:300px; 
  22. padding:0px; 
  23. background:#FFFCF2; 
  24. overflow:hidden; 
  25. .title01{ 
  26. width:100%; 
  27. height:25px; 
  28. background:#FFFCF2; 
  29. cursor:pointer; 
  30. .title02{ 
  31. width:100%; 
  32. height:25px; 
  33. background:#FFFCF2; 
  34. cursor:pointer; 
  35. .zzjs__net{ 
  36. background:#FFFCF2; 
  37. border-bottom:2px solid #fff; 
  38. overflow:hidden; 
  39. color:#666; 
  40. padding-left:4px; 
  41. padding-right:4px; 
  42. line-height:18px; 
  43. .www_zzjs_net { 
  44. width:202px; 
  45. .www_zzjs_net .b1, .www_zzjs_net .b2, .www_zzjs_net .b3, .www_zzjs_net .b4 { 
  46. font-size:1px; 
  47. display:block; 
  48. background:#FFFCF2; 
  49. overflow: hidden; 
  50. .www_zzjs_net .b1, .www_zzjs_net .b2, .www_zzjs_net .b3 { 
  51. height:1px; 
  52. .www_zzjs_net .b2, .www_zzjs_net .b3, .www_zzjs_net .b4 { 
  53. background:#FFFCF2; 
  54. border-left:1px solid #C7BC98; 
  55. border-right:1px solid #C7BC98; 
  56. .www_zzjs_net .b1 { 
  57. margin:0 4px; 
  58. background:#C7BC98; 
  59. .www_zzjs_net .b2 { 
  60. margin:0 2px; 
  61. border-width:0 2px; 
  62. .www_zzjs_net .b3 { 
  63. margin:0 1px; 
  64. .www_zzjs_net .b4 { 
  65. height:2px; 
  66. margin:0; 
  67. .www_zzjs_net .c1 { 
  68. margin:0 5px; 
  69. background:#C7BC98; 
  70. .www_zzjs_net .c2 { 
  71. margin:0 3px; 
  72. border-width:0 2px; 
  73. .www_zzjs_net .c3 { 
  74. margin:0 2px; 
  75. .www_zzjs_net .c4 { 
  76. height:2px; 
  77. margin: 0 1px; 
  78. .www_zzjs_net .zzjs_net { 
  79. display:block; 
  80. background:transparent; 
  81. border-left:1px solid #C7BC98; 
  82. border-right:1px solid #C7BC98; 
  83. font-size:0.9em; 
  84. text-align:justify; 
  85. </style> 
  86. </head> 
  87. <body> 
  88. <div class="www_zzjs_net"
  89. <b class="b1 c1"></b> 
  90. <b class="b2 c2"></b> 
  91. <b class="b3 c3"></b> 
  92. <b class="b4 c4"></b> 
  93. <div class="zzjs_net"
  94. <div id="DoorP"
  95. <table> 
  96. <tr> 
  97. <td align="center"
  98. 一号菜单 
  99. </td> 
  100. </tr> 
  101. </table> 
  102. <div class="zzjs__net" align="center"
  103. <a href="#">一号分类</a><br/>二号分类<br/>三号分类<br/> 
  104. </div> 
  105. <b class="b1"></b> 
  106. <b class="b2"></b> 
  107. <b class="b3"></b> 
  108. <b class="b4"></b> 
  109. <table> 
  110. <tr> 
  111. <td align="center"
  112. 二号菜单 
  113. </td> 
  114. </tr> 
  115. </table> 
  116. <div class="zzjs__net" align="center"
  117. <a href="#">四号分类</a><br/>五号分类<br/>六号分类<br/> 
  118. </div> 
  119. <b class="b1"></b> 
  120. <b class="b2"></b> 
  121. <b class="b3"></b> 
  122. <b class="b4"></b> 
  123. <table> 
  124. <tr> 
  125. <td align="center"
  126. 三号菜单 
  127. </td> 
  128. </tr> 
  129. </table> 
  130. <div class="zzjs__net" align="center"
  131. <a href="#">七号分类</a><br/>八号分类<br/>九号分类<br/> 
  132. </div> 
  133. </div></div> 
  134. <b class="b4 c4"></b> 
  135. <b class="b3 c3"></b> 
  136. <b class="b2 c2"></b> 
  137. <b class="b1 c1"></b> 
  138. <script type="text/javascript"
  139. var open = 2; 
  140. var openState = new Array(); 
  141. var closeState = new Array(); 
  142. var dH = 220; 
  143. function $(id){ 
  144. if(document.getElementById(id)) 
  145. return document.getElementById(id); 
  146. else 
  147. alert("没有找到!"); 
  148. function $tag(id,tagName){ 
  149. return $(id).getElementsByTagName(tagName) 
  150. function closeMe(Cid,Oid){ 
  151. var h = parseInt(Ds[Cid].style.height); 
  152. //alert(h); 
  153. if(h > 2) 
  154. h = h - Math.ceil(h/3); 
  155. Ds[Cid].style.height = h+"px"
  156. else 
  157. openMe(Oid); 
  158. clearTimeout(closeState[Cid]); 
  159. return false
  160. closeState[Cid] = setTimeout("closeMe("+Cid+","+Oid+")"); 
  161. function openMe(Oid){ 
  162. var h = parseInt(Ds[Oid].style.height); 
  163. //alert(h); 
  164. if(h < dH) 
  165. h = h + Math.ceil((dH-h)/3); 
  166. Ds[Oid].style.height = h+"px"
  167. else 
  168. clearTimeout(openState[Oid]); 
  169. return false
  170. openState[Oid] = setTimeout("openMe("+Oid+")"); 
  171. var Ds = $tag("DoorP","div"); 
  172. var Ts = $tag("DoorP","table"); 
  173. if(Ds.length != Ts.length) 
  174. alert("标题和内容数目不相同!"); 
  175. for(var i = 0 ; i < Ds.length ; i++) 
  176. if(i==open) 
  177. Ds[i].style.height = dH+"px"
  178. Ts[i].className="title01"
  179. else 
  180. Ds[i].style.height = "0px"
  181. Ts[i].className="title02"
  182. Ts[i].value = i; 
  183. Ts[i].onmouseover = function(){ 
  184. if(open==this.value) 
  185. return false
  186. Ts[open].className="title02"
  187. Ts[this.value].className="title01"
  188. for(var i = 0 ; i < openState.length ; i++) 
  189. clearTimeout(openState[i]); 
  190. clearTimeout(closeState[i]); 
  191. closeMe(open,this.value); 
  192. //openMe(this.value); 
  193. open = this.value; 
  194. function showDiv(id){ 
  195. Ds[id].style.height=dH+"px"
  196. Ds[open].style.height="0px"
  197. open = id; 
  198. </script> 
  199. </body> 
  200. </html> 

以上所述就是本文的全部内容了,希望大家能够喜欢。

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

图片精选