CSS 弹出菜单, 完美实现, 完美兼容 By shawl.qiu

78 篇文章 0 订阅
32 篇文章 0 订阅
<script type=text/javascript>// 标签原先有 加载 其他 JS 函数那应该在 window.οnlοad=muBar; 前加上 // //如: //window.οnlοad=muBar; //然后再在 加入该函数, 如 //-->]]></script>
CSS 弹出菜单, 完美实现, 完美兼容 By shawl.qiu

说明: 
本实例使用了 少许 脚本, 这样做是为了兼容 IE, 如果不使用脚本, Opera 可以正常显示.
本实例兼容: IE,FF,Opera, 并以垂直方向显示子菜单

内容包括: 
1. VBScript 动态显示内容代码
2. VBScript 创建静态文件并读出函数
3. 纯静态例子代码
4. 预览

shawl.qiu
2006-8-1
  http://blog.csdn.net/btbtd

1. VBScript 动态显示内容代码
  1. linenum
  2. <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
  3. <!--#include virtual="include/conn.asp" -->
  4. <!DOCTYPE html PUBliC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
  5. http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  6. <html xmlns=" http://www.w3.org/1999/xhtml" lang="zh-CN">
  7. <head>
  8. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  9. <title>popup menu with css By shawl.qiu</title>
  10. <style type="text/css">
  11. <!--
  12. body { font-size:14px;}
  13. a { text-decoration:none; /* 清空链接下划线 */}
  14. *{margin:0;padding:0;border:0; /* 外补丁, 内补丁, 边框设为0 */}
  15. #navibar { display:table; width:100%; background:#E7E8EB;  }
  16. #navibar a { display: block; text-decoration:none!important; /* 设置导航条内链接以块显示 */}
  17. #navibar div { float: left; /* 设置大类浮动方向 */}
  18. #navibar div a {
  19.     padding:0px 5px 0px 5px; /* 设置大类链接显示间隔 */
  20.     line-height:130%; /* 设置大类链接显示行高 */}
  21. #navibar div a:hover  { 
  22.     color:#FFF !important;  /* 设置鼠标移动至大类时的文字颜色 */
  23.     background:#002BB8; /* 设置鼠标移动至大类时的背景色 */}
  24. #navibar div div {
  25.     line-height:120%; /* 设置子类行高 */
  26.      left: -1234em; /* 设置子类位置为不可见 */
  27.     position: absolute; /* 位置参数设为绝对值 */ }
  28. #navibar .spcat_hover div { 
  29.     white-space:nowrap; /* 子类标题溢出边界不换行 */}
  30. #navibar .spcat_hover div a{ background-color:#F6F6F6!important; color:#666; /* 子类链接颜色 */ display:block; width:120px;} 
  31. #navibar .spcat_hover div a:hover  {
  32.     color:#F3F3F3; /* 鼠标移至子类时的文字颜色 */
  33.     background:#C00!important; /* 鼠标移至子类时的背景色 */
  34.     display:block;
  35.     width:auto;}
  36. #navibar .spcat_hover div {left:auto; /* 子类弹出菜单显示位置 */} 
  37. -->
  38. </style>
  39. <script type=text/javascript>//<![CDATA[<!--
  40.     function muBar() {
  41.      var getItem = document.getElementById("navibar").getElementsByTagName("div");
  42.      for (var i=0; i<getItem.length; i++) {
  43.       getItem[i].οnmοuseοver=function() { this.className="spcat_hover"; }
  44.       getItem[i].οnmοuseοut=function() { this.className="" }
  45.      }
  46.     }
  47. window.οnlοad=muBar; 
  48. //如果你的 HTML <body> 标签原先有 加载 其他 JS 函数那应该在 window.οnlοad=muBar;  前加上 // 
  49. //如: //window.οnlοad=muBar; 
  50. //然后再在 <body> 加入该函数, 如 <body οnlοad="otherFunc();muBar();">
  51. //-->]]></script>
  52. </head>
  53. <body>
  54. <div id="navibar">
  55. <% 
  56.     set rs=server.CreateObject("adodb.recordset")
  57.         rs.open "select * from ctatspcat order by sporder",conn
  58.             while not rs.eof 
  59.                 response.write "<div><a href=""?id=spcat"">"&rs("spcat")&"</a>"
  60.                 response.write "<div>"
  61.                 set rss=server.CreateObject("adodb.recordset")
  62.                     rss.open "select * from ctatsbcat where spid="&rs("spid")&" order by sbcat",conn
  63.                     while not rss.eof
  64.                     response.write "<a href=""?id=sbcat"">"&rss("sbcat")&"</a>"
  65.                         rss.movenext
  66.                     wend
  67.                     rss.close
  68.                 set rss=nothing
  69.                     response.write "</div></div>"
  70.                 rs.movenext
  71.             wend
  72.         rs.close
  73.     set rs=nothing
  74. %>
  75. </div><br clear="all" />
  76. <div>ok</div>
  77. </body>
  78. </html>

2. VBScript 创建静态文件并读出函数
  1. linenum
  2. <% 
  3. function fAtNaviBar(strFilePath)
  4.     set fso=server.CreateObject("scripting.fileSystemObject")
  5.             strFilePath=server.MapPath(strFilePath)
  6.         if not fso.fileexists(strFilePath) then 
  7.             set rs=server.CreateObject("adodb.recordset")
  8.                 rs.open "select * from ctatspcat order by sporder",conn
  9.                     if rs.eof then exit function
  10.                     set cfile=fso.createTextFile(strFilePath)
  11.                         cfile.write "<div id=""navibar"">"
  12.                     while not rs.eof 
  13.                         cfile.write "<div><a href=""article.asp?spid="&rs("spid")&""">"&rs("spcat")&"</a>"
  14.                         cfile.write "<div>"
  15.                         set rss=server.CreateObject("adodb.recordset")
  16.                             rss.open "select * from ctatsbcat where spid="&rs("spid")&" order by sbcat",conn
  17.                             while not rss.eof
  18.                             cfile.write "<a href=""article.asp?spid="&rs("spid")&"&sbid="&rss("sbid")&""">"&rss("sbcat")&"</a>"
  19.                                 rss.movenext
  20.                             wend
  21.                             rss.close
  22.                         set rss=nothing
  23.                             cfile.write "</div></div>"
  24.                         rs.movenext
  25.                     wend
  26.                         cfile.write "</div>"
  27.                 rs.close
  28.             set rs=nothing
  29.         end if
  30.         if rspid<>"" then response.write replace(fso.openTextFile(strFilePath).readall,"spid="&rspid&"""","spid="&_
  31.         rspid&""" class=""bg-blue white""") else response.write fso.openTextFile(strFilePath).readall
  32.     set fso=nothing
  33. end function 
  34. %>
  35. <% call fAtNaviBar("include/article/files/navibar.html")%>

3. 纯静态例子代码
  1. linenum
  2. <!DOCTYPE html PUBliC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
  3. http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  4. <html xmlns=" http://www.w3.org/1999/xhtml" lang="zh-CN">
  5. <head>
  6. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  7. <title>popup menu with css By shawl.qiu</title>
  8. <style type="text/css">
  9. <!--
  10. body { font-size:14px;}
  11. a { text-decoration:none; /* 清空链接下划线 */}
  12. *{margin:0;padding:0;border:0; /* 外补丁, 内补丁, 边框设为0 */}
  13. #navibar { display:table; width:100%; background:#E7E8EB;  }
  14. #navibar a { display: block; text-decoration:none!important; /* 设置导航条内链接以块显示 */}
  15. #navibar div { float: left; /* 设置大类浮动方向 */}
  16. #navibar div a {
  17.     padding:0px 5px 0px 5px; /* 设置大类链接显示间隔 */
  18.     line-height:130%; /* 设置大类链接显示行高 */}
  19. #navibar div a:hover  { 
  20.     color:#FFF !important;  /* 设置鼠标移动至大类时的文字颜色 */
  21.     background:#002BB8; /* 设置鼠标移动至大类时的背景色 */}
  22. #navibar div div {
  23.     line-height:120%; /* 设置子类行高 */
  24.      left: -1234em; /* 设置子类位置为不可见 */
  25.     position: absolute; /* 位置参数设为绝对值 */ }
  26. #navibar .spcat_hover div { 
  27.     white-space:nowrap; /* 子类标题溢出边界不换行 */}
  28. #navibar .spcat_hover div a{ background-color:#F6F6F6!important; color:#666; /* 子类链接颜色 */ display:block; width:120px;} 
  29. #navibar .spcat_hover div a:hover  {
  30.     color:#F3F3F3; /* 鼠标移至子类时的文字颜色 */
  31.     background:#C00!important; /* 鼠标移至子类时的背景色 */
  32.     display:block;
  33.     width:auto;}
  34. #navibar .spcat_hover div {left:auto; /* 子类弹出菜单显示位置 */} 
  35. -->
  36. </style>
  37. <script type=text/javascript>//<![CDATA[<!--
  38.     function muBar() {
  39.      var getItem = document.getElementById("navibar").getElementsByTagName("div");
  40.      for (var i=0; i<getItem.length; i++) {
  41.       getItem[i].οnmοuseοver=function() { this.className="spcat_hover"; }
  42.       getItem[i].οnmοuseοut=function() { this.className="" }
  43.      }
  44.     }
  45. window.οnlοad=muBar; 
  46. //如果你的 HTML <body> 标签原先有 加载 其他 JS 函数那应该在 window.οnlοad=muBar;  前加上 // 
  47. //如: //window.οnlοad=muBar; 
  48. //然后再在 <body> 加入该函数, 如 <body οnlοad="otherFunc();muBar();">
  49. //-->]]></script>
  50. </head>
  51. <body>
  52. <div id="navibar">
  53. <div><a href="?id=spcat">海纳百川</a><div><a href="?id=sbcat">FromLeadBBS</a><a href="?id=sbcat">FromPhpbbForum</a><a href="?id=sbcat">FromXoopsGiArticles</a><a href="?id=sbcat">FromXoopsGipbb</a><a href="?id=sbcat">FromXoopsGiss</a><a href="?id=sbcat">FromXoopsNewbb</a><a href="?id=sbcat">FromXoopsNews</a><a href="?id=sbcat">FromXoopsXphpbbi</a><a href="?id=sbcat">办公软件</a><a href="?id=sbcat">操作系统/OS</a><a href="?id=sbcat">丛书</a><a href="?id=sbcat">调查</a><a href="?id=sbcat">服务器篇</a><a href="?id=sbcat">功能测试</a><a href="?id=sbcat">金融</a><a href="?id=sbcat">设计</a><a href="?id=sbcat">投稿/撰稿/征文</a><a href="?id=sbcat">图象处理</a><a href="?id=sbcat">网页制作</a><a href="?id=sbcat">网站</a><a href="?id=sbcat">有容乃大</a></div></div><div><a href="?id=spcat">技术记</a><div><a href="?id=sbcat">ASP</a><a href="?id=sbcat">C</a><a href="?id=sbcat">CSS</a><a href="?id=sbcat">HTML</a><a href="?id=sbcat">Javascript</a><a href="?id=sbcat">Linux</a><a href="?id=sbcat">RegExp-正则表达式</a><a href="?id=sbcat">SQL/数据库</a><a href="?id=sbcat">WebServices</a><a href="?id=sbcat">XHTML</a><a href="?id=sbcat">草稿箱</a><a href="?id=sbcat">技术翻译</a><a href="?id=sbcat">技术趣味</a><a href="?id=sbcat">开发-本站</a></div></div><div><a href="?id=spcat">读书记</a><div><a href="?id=sbcat">IT-札记</a><a href="?id=sbcat">WSJ</a><a href="?id=sbcat">文学手记</a><a href="?id=sbcat">文学札记</a></div></div><div><a href="?id=spcat">英语角</a><div><a href="?id=sbcat">基础资料</a><a href="?id=sbcat">英-汉阅读</a><a href="?id=sbcat">英文/歌词&诗词</a><a href="?id=sbcat">英-英阅读</a><a href="?id=sbcat">语法&写作</a></div></div><div><a href="?id=spcat">工具箱</a><div><a href="?id=sbcat">基层工具</a><a href="?id=sbcat">模板</a><a href="?id=sbcat">配色方案</a><a href="?id=sbcat">设计概念</a><a href="?id=sbcat">实用链接</a><a href="?id=sbcat">行业常识</a><a href="?id=sbcat">在线工具</a></div></div><div><a href="?id=spcat">程序设计</a><div><a href="?id=sbcat">C#</a><a href="?id=sbcat">C++</a><a href="?id=sbcat">C语言</a><a href="?id=sbcat">Delphi</a><a href="?id=sbcat">VB</a><a href="?id=sbcat">VF</a></div></div><div><a href="?id=spcat">数据库</a><div><a href="?id=sbcat">Access</a><a href="?id=sbcat">ADO</a><a href="?id=sbcat">MySQL</a><a href="?id=sbcat">Oracle</a><a href="?id=sbcat">Postgresql</a><a href="?id=sbcat">SQL Server</a><a href="?id=sbcat">书</a></div></div><div><a href="?id=spcat">网络编程</a><div><a href="?id=sbcat">.NET</a><a href="?id=sbcat">Ajax</a><a href="?id=sbcat">ASP</a><a href="?id=sbcat">ASP实例</a><a href="?id=sbcat">CGI</a><a href="?id=sbcat">CSS</a><a href="?id=sbcat">Flash</a><a href="?id=sbcat">HTML</a><a href="?id=sbcat">Java</a><a href="?id=sbcat">Java        </a><a href="?id=sbcat">JSP</a><a href="?id=sbcat">Perl        </a><a href="?id=sbcat">PHP</a><a href="?id=sbcat">RegExp-正则</a><a href="?id=sbcat">Script</a><a href="?id=sbcat">XHTML</a><a href="?id=sbcat">XML</a><a href="?id=sbcat">书</a></div></div><div><a href="?id=spcat">站点大事记</a><div><a href="?id=sbcat">绿色进化 E-Studio_2004</a><a href="?id=sbcat">绿色学院 - Green Institute_2006</a></div></div>
  54. </div><br clear="all" />
  55. <div>ok</div>
  56. </body>
  57. </html>

4. 预览


ok
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值