热门:网页模板.net视频教程JQueryMVCjsonExtJs源码示例三级联动JQuery菜单
您现在的位置:.Net中文社区>> 实用代码>>正文内容

用表格实现简单网站左侧导航

发布时间:2010年04月04日点击数: 我是郭大侠

闲暇之余,制作一用表格实现的简单的网站导航条,分享给大家。
调用很简单,只要将数据组织成json格式即可:格式如下:

  1. window.onload = function() 
  2.      var tf="if1"
  3.      var data=[{m:"体育网站",s:[{sn:"百度体育",st:"http://news.baidu.com/n?cmd=1&class=sportnews"}, 
  4.              {sn:"搜狐体育",st:"http://sports.sohu.com/"}, 
  5.              {sn:"新浪体育",st:"http://sports.sina.com.cn/"}]}, 
  6.          {m:"新闻网站",s:[{sn:"百度",st:"http://news.baidu.com/"}, 
  7.              {sn:"搜狐",st:"http://news.sohu.com/"}, 
  8.              {sn:"新浪",st:"http://news.sina.com.cn/"}]}, 
  9.          {m:"视频网站",s:[{sn:"百度视频",st:"http://vedio.baidu.com/"}, 
  10.              {sn:"搜狐视频",st:"http://tv.sohu.com/"}, 
  11.              {sn:"新浪视频",st:"http://vedio.sina.com.cn/"}]} 
  12.         ]; 
  13.     var nav=new tableNav("table1",data,tf); 
  14.     var bautoClose=false//打开当前导航条时其它导航条是否关闭 
  15.     nav.generateNav(bautoClose); 

整个实例代码如下:供初学者学习!

  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.     <title>simple struct</title> 
  5.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
  6.     <style type="text/css"> 
  7.         #divtitle{ 
  8.             border:solid 1px #000000; 
  9.             width:98%; 
  10.             height:100px; 
  11.             text-align:center; 
  12.         } 
  13.         #div1{ 
  14.             border:solid 1px #000000; 
  15.             width:18%; 
  16.             height:700px; 
  17.             float:left; 
  18.         } 
  19.         #div2{ 
  20.              
  21.             width:80%; 
  22.             height:700px; 
  23.             float:left; 
  24.         } 
  25.  
  26.         <!--偶数行,0,2,4...--> 
  27.         .oddrow{ 
  28.             margin-top:1px; 
  29.         } 
  30.         .oddrow td{ 
  31.             text-decoration:underline; 
  32.             background-color:#666666; 
  33.             color:#ccc; 
  34.             cursor:pointer; 
  35.         } 
  36.  
  37.         <!--奇数行--> 
  38.         .evenrow{ 
  39.             display:none; 
  40.         } 
  41.         .evenrow a{ 
  42.             margin-left:10px; 
  43.             margin-top:2px; 
  44.         } 
  45.         .evenrow td{ 
  46.             background-color:#eee; 
  47.             display:block; 
  48.         } 
  49.     </style> 
  50.      
  51. <script type="text/javascript"> 
  52.     window.onload = function() 
  53.     { 
  54.         var tf="if1"
  55.         var data=[{m:"体育网站",s:[{sn:"百度体育",st:"http://news.baidu.com/n?cmd=1&class=sportnews"}, 
  56.                                   {sn:"搜狐体育",st:"http://sports.sohu.com"}, 
  57.                                   {sn:"新浪体育",st:"http://sports.sina.com.cn"}]}, 
  58.                   {m:"新闻网站",s:[{sn:"百度",st:"http://news.baidu.com"}, 
  59.                                   {sn:"搜狐",st:"http://news.sohu.com"}, 
  60.                                   {sn:"新浪",st:"http://news.sina.com.cn"}]}, 
  61.                   {m:"视频网站",s:[{sn:"百度视频",st:"http://vedio.baidu.com"}, 
  62.                                   {sn:"搜狐视频",st:"http://tv.sohu.com"}, 
  63.                                   {sn:"新浪视频",st:"http://vedio.sina.com.cn"}]} 
  64.                  ]; 
  65.         var nav=new tableNav("table1",data,tf); 
  66.         var bautoClose=false;    //打开当前导航条时其它导航条是否关闭 
  67.         nav.generateNav(bautoClose); 
  68.     } 
  69.      
  70.     function tableNav(tblid,data,ifname) 
  71.     {     
  72.         var tbldocument.getElementById(tblid); 
  73.         //1.删除表格中存在的行 
  74.         for (var t = 0; t < tbl.rows.length;t++){tbl.deleteRow(t);} 
  75.         //2.添加数据 
  76.         var idx=0
  77.         for(var t=0;t<data.length;t++) 
  78.         { 
  79.             var row=tbl.insertRow(idx); 
  80.             var cell=row.insertCell(0); 
  81.             cell.innerHTML=data[t].m; 
  82.             row.className="oddrow"
  83.             idx++; 
  84.  
  85.             var row=tbl.insertRow(idx); 
  86.             row.className="evenrow"
  87.             var cell=row.insertCell(0); 
  88.             for (var i=0;i<data[t].s.length;i++) 
  89.             { 
  90.                 cell.innerHTML += "<a href='" +data[t].s[i].st+"' target='"+ ifname +"'>"+ data[t].s[i].sn +"</a><br />";     
  91.             } 
  92.             row.style.display="none"
  93.             idx++; 
  94.         } 
  95.  
  96.         this.generateNav=function(bautoClose){ 
  97.             for (var i = 0; i < tbl.rows.length; i++) 
  98.             if (i % 2==0) 
  99.             { 
  100.                 var obj = tbl.rows[i].getElementsByTagName("td")[0]; 
  101.                 obj.onclick = function() 
  102.                 {    
  103.                     var o = this.parentNode.nextSibling; 
  104.                     if (o.nodeType != 1) 
  105.                     { 
  106.                         oo = o.nextSibling; 
  107.                     } 
  108.                     o.style.display = (o.style.display == "block") ? "none" : "block" 
  109.                     if (bautoClose) 
  110.                     { 
  111.                         for (var j = 1; j < tbl.rows.lengthjj =j+ 2) 
  112.                         { 
  113.                             if (tbl.rows[j] !=o) 
  114.                             { 
  115.                                 tbl.rows[j].style.display = "none"
  116.                             } 
  117.                         } 
  118.                     } 
  119.                 } 
  120.             } 
  121.         }; 
  122.     } 
  123. </script> 
  124. </head> 
  125. <body > 
  126.     <div id="divtitle"> 
  127.         <h1>用表格实现简单网站左侧导航</h1> 
  128.     </div> 
  129.     <div id="div1"> 
  130.         <table id="table1"> 
  131.  
  132.         </table> 
  133.     </div> 
  134.     <div id="div2"> 
  135.         <iframe id='if1' name='if1' src="" width="100%" height="100%" border=”0″ marginwidth=”0″ marginheight=”0″ allowtransparency=”yes"></iframe> 
  136.     </div> 
  137.  
  138. </body> 
  139. </html> 

本站热点业务

更多模板/案例展示

关于我们 | 联系我们 | 团队日志 | 网站地图 | 网站合作