今天花了點時間,設計了一個網頁上用的tabview(頁簽、tabcontrol)效果,網頁元素用得比較少,js代碼也比較精練。測試了一下支援IE、FireFox以及chrome。支援同一頁面上多處使用。
沒有什麼過多說的。先看一下效果。
頁面中用到一個圖片:
頁面代碼如下:Html代碼
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head><title>tabview樣本(歡迎訪問我的部落格:http://wallimn.iteye.com)</title>
- <meta http-equiv=content-type content="text/html; charset=GBK">
- <script type="text/javascript">
- function tabclick(obj){
- if(obj.className=='cur')return;
- var idx;
- for(var n=0; n<obj.parentNode.childNodes.length; n++){
- obj.parentNode.childNodes[n].className="";
- if(obj==obj.parentNode.childNodes[n])idx=n;
- }
- obj.className="cur";
- var pc = obj.parentNode.nextSibling;
- while(pc.nodeType==3)pcpc=pc.nextSibling;
- for(var n=0; n<pc.childNodes.length; n++){
- pc.childNodes[n].className="hdn";
- }
- pc.childNodes[idx].className="";
- }
- </script>
- <style type="text/css">
- .debug{
- border:1px solid red;
- }
- .hdn{
- display:none;
- }
- ul.tabbar,ul.tabpage{
- list-style-type:none;
- margin:0;
- font-size:12px;
- padding:0;
- }
- ul.tabbar{
- background:url(tabview.gif) repeat-x 0 -68px;
- height:34px;
- }
- ul.tabbar li{
- float:left;
- width:83px;
- height:34px;
- line-height:34px;
- text-align:center;
- background:url(tabview.gif);
- cursor:pointer;
- cursor:hand;
- }
- ul.tabbar li.cur{
- background:url(tabview.gif) 0 -34px;
- }
- ul.tabpage{
- border-style:ridge;
- border-color:#dceefd;
- border-width:0 2px 2px 2px;
- height:302px;
- overflow:hidden;
- }
- ul.tabpage li{
- height:300px;
- border-width:0;
- overflow-y:auto;
- }
- </style>
- </head>
- <body>
- <ul class="tabbar">
- <li style="margin-left:1em" class="cur" onclick="tabclick(this)">過濾條件</li>
- <li onclick="tabclick(this)">排序條件</li>
- <li onclick="tabclick(this)">分 組</li>
- <li onclick="tabclick(this)">計算欄位</li>
- </ul>
- <ul class="tabpage">
- <li>顯示過濾條件</li>
- <li class="hdn">顯示排序條件</li>
- <li class="hdn">顯示分 組</li>
- <li class="hdn">顯示計算欄位</li>
- </ul>
- </body>
- </html>