找回密码
 注册
广告投放 虚位以待【阿里云】2核2G云新老同享 99元/年,续费同价做网站就用糖果主机-sugarhosts.comJtti.com-新加坡服务器,美国服务器,香港服务器
查看: 576|回复: 2

【网页制作】符合web标准的弹出菜单集(div+css+js)

[复制链接]
发表于 2005 年 12 月 19 日 13:40:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
  水平方向的PopMenu-弹出菜单(DIV+CSS+JS)

此POPMENU根据alistapart的articles改编,比DW中用显示、隐藏层的方法要简单。在IE6.0 IE5.X Firefox NS都能正确显示,只用到很少的JS代码,使用时只要把<ul></ul>部分插入需要的地方即可,不会因分辨率不同而发生错位的现象。
演示:http://blog.macrolong.com/up/popmenu1.htm
CSS代码
  1. li ul {
  2. display: none;
  3. left: -40px;
  4. position: absolute;
  5. top: 24px;
  6. width: 490px; /*opera需要这个宽度,
  7. 可根据导航条的实际宽度作调整*/
  8. }
  9. li ul li{
  10. display: inline;
  11. }
  12. li ul li a{
  13. background: url(h_line.gif) no-repeat 0px 7px;
  14. color: #666666;
  15. font-weight: normal;
  16. padding: 6px;
  17. text-align: left;
  18. }
  19. li ul li a:hover{
  20. background: url(h_line.gif) no-repeat 0px 7px;
  21. color: #DC4E1B;
  22. text-decoration: underline;
  23. }
  24. li ul,li ul li{
  25. border: 0px;
  26. }
  27. li:hover ul, li.over ul,ul li:hover {
  28. display: block;
  29. }
  30. ul {
  31. list-style: none;
  32. margin: 0px;
  33. padding: 0px;
  34. font: normal 11px verdana;
  35. }
  36. ul li {
  37. border: solid 1px #CCCCCC;
  38. border-left: 0px;
  39. float: left;
  40. position: relative;
  41. }
  42. ul li a {
  43. background: #F5F5F5;
  44. color: #666666;
  45. display: block;
  46. font-weight: bold;
  47. padding: 5px 10px;
  48. text-align: center;
  49. text-decoration: none;
  50. }
  51. ul li a:hover {
  52. background: #DC4E1B;
  53. color: #FFFFFF;
  54. }
  55. .left{
  56. height: 24px;
  57. width: 1px;
  58. }
复制代码


html:
  1. <ul id="nav">
  2.   <li class="left"></li><li><a href="#">Home</a></li>
  3. <li><a href="#">About</a><ul> <li><a href="#">Sub menu 21</a>
  4. </li><li><a href="#">Sub menu 22</a></li> <li><a href="#">
  5. Sub menu 23</a></li><li><a href="#">Sub menu 24</a></li> </ul>
  6. </li> <li><a href="#">Products</a><ul><li><a href="#">Sub menu 31
  7. </a></li> <li><a href="#">Sub menu 32</a></li> <li><a href="#">
  8. Sub menu 33</a></li> <li><a href="#">Sub menu 34</a></li></ul>
  9. </li> <li><a href="#">Services</a><li><a href="#">Contact Us
  10. </a></li>
  11. </ul>
复制代码

js代码
  1. startList = function() {
  2. if (document.all&&document.getElementById) {
  3. navRoot = document.getElementById("nav");
  4. for (i=0; i<navRoot.childNodes.length; i++) {
  5. node = navRoot.childNodes[i];
  6. if (node.nodeName=="LI") {
  7. node.onmouseover=function() {
  8. this.className+=" over";
  9. }
  10. node.onmouseout=function() {
  11. this.className=this.className.replace(" over", "");
  12. }
  13. }
  14. }
  15. }
  16. }
  17. window.onload=startList;
复制代码

垂直方向
演示:http://blog.macrolong.com/up/popmenu2.htm
css:
  1. body {
  2. font-family: Arial, Helvetica, sans-serif;
  3. font-size: 11px;
  4. }
  5. #nav, #nav ul {
  6. list-style: none;
  7. background: #F9F9F9;
  8. font-weight: bold;
  9. padding: 0px;
  10. margin: 0px;
  11. border: solid 1px #CCCCCC;
  12. border-bottom: 0px;
  13. width: 150px;
  14. text-align: left;
  15. }
  16. #nav ul ul{
  17. border: solid 1px #CCCCCC;
  18. border-bottom: 0px;
  19. }
  20. #nav a {
  21. display: block;
  22. width: 150px;
  23. w\idth: 140px;
  24. color: #333333;
  25. text-decoration: none;
  26. text-align: center;
  27. border-bottom: solid 1px #CCCCCC;
  28. text-align: left;
  29. padding-left: 10px;
  30. }
  31. #nav a:hover{
  32. color: #336666;
  33. }
  34. #nav a.selected{
  35. background: url(../images/arrow.gif) no-repeat right 50%;
  36. }
  37. #nav li {
  38. line-height: 22px;
  39. position: relative;
  40. }
  41. #nav li ul {
  42. position: absolute;
  43. left: -999em;
  44. width: 150px;
  45. font-weight: normal;
  46. margin: 0px;
  47. padding: 0px;
  48. }
  49. #nav li li {
  50. width: 150px;
  51. }
  52. #nav li ul a {
  53. width: 150px;
  54. w\idth: 126px;
  55. padding: 0px 12px;
  56. line-height: 22px;
  57. text-align: left;
  58. }
  59. #nav li ul ul {
  60. margin: 0px 0 0 150px;
  61. }
  62. #nav li:hover ul ul,#nav li.sfhover ul ul{
  63. left: -999em;
  64. }
  65. #nav li:hover ul, #nav li li:hover ul,#nav li.sfhover ul, #nav li li.sfhover ul{
  66. left: auto;
  67. }
  68. #nav li:hover ul,#nav li.sfhover ul{
  69. left: 150px;
  70. top: 0px;
  71. }
  72. #nav li:hover, #nav li.sfhover {
  73. background: #F5E3C0;
  74. }
  75. * html #nav li {
  76. float: left;
  77. height: 1%;
  78. }
  79. * html #nav li a {
  80. height: 1%;
  81. }
复制代码

js:
  1. <script type="text/javascript"><!--//--><![CDATA[//><!--
  2. sfHover = function() {
  3. var sfEls = document.getElementById("nav").getElementsByTagName("LI");
  4. for (var i=0; i<sfEls.length; i++) {
  5.   sfEls[i].onmouseover=function() {
  6.   this.className+=" sfhover";
  7.   }
  8.   sfEls[i].onmouseout=function() {
  9.   this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
  10.   }
  11.   }
  12. }
  13. if (window.attachEvent) window.attachEvent("onload", sfHover);
  14. //--><!]]></script>
复制代码


html:
  1. <ul id="nav">
  2. <li><a href="">Home</a></li>
  3. <li><a href="/aboutme.html">About Me</a></li>
  4. <li><a class="selected" href="/tutorials.html">Tutorials</a>
  5. <ul>
  6. <li><a href="#">Sub Menu 31</a></li>
  7. <li><a class="selected" href="#">Sub Menu 32</a>
  8. <ul>
  9. <li><a href="#">Sub Menu 321</a></li>
  10. <li><a href="#">Sub Menu 322</a></li>
  11. <li><a href="#">Sub Menu 323</a></li>
  12. <li><a href="#">Sub Menu 324</a></li>
  13. </ul>
  14. </li>
  15. <li><a href="#">Sub Menu 33</a></li>
  16. <li><a href="#">Sub Menu 34</a></li>
  17. </ul>
  18. </li>
  19. <li><a class="selected" href="/gallery/gallery.html">Gallery</a>
  20. <ul>
  21. <li><a href="#">Sub Menu 41</a></li>
  22. <li><a class="selected" href="#">Sub Menu 42</a>
  23. <ul>
  24. <li><a href="#">Sub Menu 421</a></li>
  25. <li><a href="#">Sub Menu 422</a></li>
  26. <li><a href="#">Sub Menu 423</a></li>
  27. <li><a href="#">Sub Menu 424</a></li>
  28. </ul>
  29. </li>
  30. <li><a href="#">Sub Menu 43</a></li>
  31. <li><a href="#">Sub Menu 44</a></li>
  32. </ul>
  33. </li>
  34. <li><a href="#">Contact Me</a></li>
  35. </ul>
复制代码
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
发表于 2005 年 12 月 20 日 00:44:58 | 显示全部楼层
【腾讯云】2核2G云服务器新老同享 99元/年,续费同价
怎么没有仿windows、office的纵向列表子菜单??
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
回复

使用道具 举报

 楼主| 发表于 2005 年 12 月 19 日 13:40:02 | 显示全部楼层

【网页制作】符合web标准的弹出菜单集(div+css+js)

  水平方向的PopMenu-弹出菜单(DIV+CSS+JS)

此POPMENU根据alistapart的articles改编,比DW中用显示、隐藏层的方法要简单。在IE6.0 IE5.X Firefox NS都能正确显示,只用到很少的JS代码,使用时只要把<ul></ul>部分插入需要的地方即可,不会因分辨率不同而发生错位的现象。
演示:http://blog.macrolong.com/up/popmenu1.htm
CSS代码
  1. li ul {
  2. display: none;
  3. left: -40px;
  4. position: absolute;
  5. top: 24px;
  6. width: 490px; /*opera需要这个宽度,
  7. 可根据导航条的实际宽度作调整*/
  8. }
  9. li ul li{
  10. display: inline;
  11. }
  12. li ul li a{
  13. background: url(h_line.gif) no-repeat 0px 7px;
  14. color: #666666;
  15. font-weight: normal;
  16. padding: 6px;
  17. text-align: left;
  18. }
  19. li ul li a:hover{
  20. background: url(h_line.gif) no-repeat 0px 7px;
  21. color: #DC4E1B;
  22. text-decoration: underline;
  23. }
  24. li ul,li ul li{
  25. border: 0px;
  26. }
  27. li:hover ul, li.over ul,ul li:hover {
  28. display: block;
  29. }
  30. ul {
  31. list-style: none;
  32. margin: 0px;
  33. padding: 0px;
  34. font: normal 11px verdana;
  35. }
  36. ul li {
  37. border: solid 1px #CCCCCC;
  38. border-left: 0px;
  39. float: left;
  40. position: relative;
  41. }
  42. ul li a {
  43. background: #F5F5F5;
  44. color: #666666;
  45. display: block;
  46. font-weight: bold;
  47. padding: 5px 10px;
  48. text-align: center;
  49. text-decoration: none;
  50. }
  51. ul li a:hover {
  52. background: #DC4E1B;
  53. color: #FFFFFF;
  54. }
  55. .left{
  56. height: 24px;
  57. width: 1px;
  58. }
复制代码


html:
  1. <ul id="nav">
  2.   <li class="left"></li><li><a href="#">Home</a></li>
  3. <li><a href="#">About</a><ul> <li><a href="#">Sub menu 21</a>
  4. </li><li><a href="#">Sub menu 22</a></li> <li><a href="#">
  5. Sub menu 23</a></li><li><a href="#">Sub menu 24</a></li> </ul>
  6. </li> <li><a href="#">Products</a><ul><li><a href="#">Sub menu 31
  7. </a></li> <li><a href="#">Sub menu 32</a></li> <li><a href="#">
  8. Sub menu 33</a></li> <li><a href="#">Sub menu 34</a></li></ul>
  9. </li> <li><a href="#">Services</a><li><a href="#">Contact Us
  10. </a></li>
  11. </ul>
复制代码

js代码
  1. startList = function() {
  2. if (document.all&&document.getElementById) {
  3. navRoot = document.getElementById("nav");
  4. for (i=0; i<navRoot.childNodes.length; i++) {
  5. node = navRoot.childNodes[i];
  6. if (node.nodeName=="LI") {
  7. node.onmouseover=function() {
  8. this.className+=" over";
  9. }
  10. node.onmouseout=function() {
  11. this.className=this.className.replace(" over", "");
  12. }
  13. }
  14. }
  15. }
  16. }
  17. window.onload=startList;
复制代码

垂直方向
演示:http://blog.macrolong.com/up/popmenu2.htm
css:
  1. body {
  2. font-family: Arial, Helvetica, sans-serif;
  3. font-size: 11px;
  4. }
  5. #nav, #nav ul {
  6. list-style: none;
  7. background: #F9F9F9;
  8. font-weight: bold;
  9. padding: 0px;
  10. margin: 0px;
  11. border: solid 1px #CCCCCC;
  12. border-bottom: 0px;
  13. width: 150px;
  14. text-align: left;
  15. }
  16. #nav ul ul{
  17. border: solid 1px #CCCCCC;
  18. border-bottom: 0px;
  19. }
  20. #nav a {
  21. display: block;
  22. width: 150px;
  23. w\idth: 140px;
  24. color: #333333;
  25. text-decoration: none;
  26. text-align: center;
  27. border-bottom: solid 1px #CCCCCC;
  28. text-align: left;
  29. padding-left: 10px;
  30. }
  31. #nav a:hover{
  32. color: #336666;
  33. }
  34. #nav a.selected{
  35. background: url(../images/arrow.gif) no-repeat right 50%;
  36. }
  37. #nav li {
  38. line-height: 22px;
  39. position: relative;
  40. }
  41. #nav li ul {
  42. position: absolute;
  43. left: -999em;
  44. width: 150px;
  45. font-weight: normal;
  46. margin: 0px;
  47. padding: 0px;
  48. }
  49. #nav li li {
  50. width: 150px;
  51. }
  52. #nav li ul a {
  53. width: 150px;
  54. w\idth: 126px;
  55. padding: 0px 12px;
  56. line-height: 22px;
  57. text-align: left;
  58. }
  59. #nav li ul ul {
  60. margin: 0px 0 0 150px;
  61. }
  62. #nav li:hover ul ul,#nav li.sfhover ul ul{
  63. left: -999em;
  64. }
  65. #nav li:hover ul, #nav li li:hover ul,#nav li.sfhover ul, #nav li li.sfhover ul{
  66. left: auto;
  67. }
  68. #nav li:hover ul,#nav li.sfhover ul{
  69. left: 150px;
  70. top: 0px;
  71. }
  72. #nav li:hover, #nav li.sfhover {
  73. background: #F5E3C0;
  74. }
  75. * html #nav li {
  76. float: left;
  77. height: 1%;
  78. }
  79. * html #nav li a {
  80. height: 1%;
  81. }
复制代码

js:
  1. <script type="text/javascript"><!--//--><![CDATA[//><!--
  2. sfHover = function() {
  3. var sfEls = document.getElementById("nav").getElementsByTagName("LI");
  4. for (var i=0; i<sfEls.length; i++) {
  5.   sfEls[i].onmouseover=function() {
  6.   this.className+=" sfhover";
  7.   }
  8.   sfEls[i].onmouseout=function() {
  9.   this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
  10.   }
  11.   }
  12. }
  13. if (window.attachEvent) window.attachEvent("onload", sfHover);
  14. //--><!]]></script>
复制代码


html:
  1. <ul id="nav">
  2. <li><a href="">Home</a></li>
  3. <li><a href="/aboutme.html">About Me</a></li>
  4. <li><a class="selected" href="/tutorials.html">Tutorials</a>
  5. <ul>
  6. <li><a href="#">Sub Menu 31</a></li>
  7. <li><a class="selected" href="#">Sub Menu 32</a>
  8. <ul>
  9. <li><a href="#">Sub Menu 321</a></li>
  10. <li><a href="#">Sub Menu 322</a></li>
  11. <li><a href="#">Sub Menu 323</a></li>
  12. <li><a href="#">Sub Menu 324</a></li>
  13. </ul>
  14. </li>
  15. <li><a href="#">Sub Menu 33</a></li>
  16. <li><a href="#">Sub Menu 34</a></li>
  17. </ul>
  18. </li>
  19. <li><a class="selected" href="/gallery/gallery.html">Gallery</a>
  20. <ul>
  21. <li><a href="#">Sub Menu 41</a></li>
  22. <li><a class="selected" href="#">Sub Menu 42</a>
  23. <ul>
  24. <li><a href="#">Sub Menu 421</a></li>
  25. <li><a href="#">Sub Menu 422</a></li>
  26. <li><a href="#">Sub Menu 423</a></li>
  27. <li><a href="#">Sub Menu 424</a></li>
  28. </ul>
  29. </li>
  30. <li><a href="#">Sub Menu 43</a></li>
  31. <li><a href="#">Sub Menu 44</a></li>
  32. </ul>
  33. </li>
  34. <li><a href="#">Contact Me</a></li>
  35. </ul>
复制代码
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|金光论坛

GMT+8, 2025 年 2 月 1 日 06:50 , Processed in 0.126133 second(s), 24 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表