首页 > 语言 > JavaScript > 正文

javascript实现超炫的向上滑行菜单实例

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

这篇文章主要介绍了javascript实现超炫的向上滑行菜单实现方法,以一个完整实例形式分析了javascript针对页面元素的遍历与样式操作相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了javascript实现超炫的向上滑行菜单。分享给大家供大家参考。具体如下:

 

 
  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>JS实现文字上下滑动导航</title> 
  7. <style type="text/css">  
  8. body { margin:0; background:#66FF99; } 
  9. ul { padding-left:0; margin:0; } 
  10. li { list-style:none; } 
  11. #nav { height:40px; background:#900; margin-top:50px; } 
  12. #nav ul { width:240px; height:40px; margin:0 auto; } 
  13. #nav li {height:40px; width:240px;} 
  14. #nav a { float:left; width:240px;position:relative; height:40px; overflow:hidden; font-size:14px; color:#e0e03a; text-decoration:none; cursor:pointer; } 
  15. #nav strong { float:left;width:240px; } 
  16. #nav span { float:left;width:200px; padding:0 20px; height:40px; line-height:40px; background:#900; clear:both; white-space:nowrap;} 
  17. #nav .active,#nav .current span { background:#600; color:#fff; } 
  18. #nav .current .active { color:#e0e03a; } 
  19. </style> 
  20. <script>  
  21. window.onload=function() 
  22. var oDiv=document.getElementById('nav'); 
  23. var aStrong=oDiv.getElementsByTagName('strong'); 
  24. var aA=oDiv.getElementsByTagName('a'); 
  25. var iTarget=oDiv.getElementsByTagName('li')[0].offsetHeight; 
  26. for(var i=0; i<aStrong.length; i++) 
  27. aA[i].style.width=aStrong[i].style.width=aStrong[i].getElementsByTagName('span')[0].offsetWidth+'px'
  28. aStrong[i].style.position='absolute'
  29. aStrong[i].style.top=aStrong[i].style.left=0; 
  30. aStrong[i].onmouseover=function() 
  31. startMove(this, -iTarget); 
  32. }; 
  33. aStrong[i].onmouseout=function() 
  34. startMove(this, 0); 
  35. }; 
  36. }; 
  37. function startMove(obj,target) 
  38. clearInterval(obj.iTime); 
  39. obj.iTime=setInterval(function(){ 
  40. if(obj.offsetTop==target) 
  41. clearInterval(obj.iTime); 
  42. else 
  43. var iSpeed=(target-obj.offsetTop)/4; 
  44. iSpeed=iSpeed>0?Math.ceil(iSpeed):Math.floor(iSpeed); 
  45. obj.style.top=obj.offsetTop+iSpeed+'px'
  46. }, 30); 
  47. </script> 
  48. </head> 
  49. <body> 
  50. <div id="nav"
  51. <ul> 
  52. <li class="current"
  53. <a href="#"
  54. <strong> 
  55. <span>首页</span> 
  56. <span class="active">首页</span> 
  57. </strong> 
  58. </a> 
  59. </li> 
  60. <li> 
  61. <a href="#"
  62. <strong> 
  63. <span>前端开发课程</span> 
  64. <span class="active">前端开发课程</span> 
  65. </strong> 
  66. </a> 
  67. </li> 
  68. <li> 
  69. <a href="#"
  70. <strong> 
  71. <span>妙味视频教程</span> 
  72. <span class="active">妙味视频教程</span> 
  73. </strong> 
  74. </a> 
  75. </li> 
  76. <li> 
  77. <a href="#"
  78. <strong> 
  79. <span>周末班上课安排</span> 
  80. <span class="active">周末班上课安排</span> 
  81. </strong> 
  82. </a> 
  83. </li> 
  84. <li> 
  85. <a href="#"
  86. <strong> 
  87. <span>结课标准</span> 
  88. <span class="active">结课标准</span> 
  89. </strong> 
  90. </a> 
  91. </li> 
  92. <li> 
  93. <a href="#"
  94. <strong> 
  95. <span>联系妙味</span> 
  96. <span class="active">联系妙味</span> 
  97. </strong> 
  98. </a> 
  99. </li> 
  100. </ul> 
  101. </div> 
  102. </body> 
  103. </html> 

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

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

图片精选