国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Web頁面中選項卡Tabview的實現(xiàn)

Web頁面中TabView的作用

TabView是許多可視化編程環(huán)境提供的常見組件,它通過選項卡將內(nèi)容分類,因此能在緊湊的空間內(nèi)顯示眾多內(nèi)容,這個特點使得它在可視化編程環(huán)境中很常見.
隨著Web的發(fā)展,Web頁面元素也開始了組件化的歷程,TabView也不例外.對此Extjs的組件最值得稱道,只是似乎需要一定的時間來鉆研.
本人閑暇之余也實現(xiàn)了自己的TabView,目前在IE下運行正常和FireFox均運行正常,這里貼出來希望和大家一起探討.

實現(xiàn)效果一:


1.將TabView分為菜單和內(nèi)容兩個部分

Tabview,顧名思義,就是一個tab加上一個view,tab用無序列表構造的菜單來實現(xiàn),view則用div來實現(xiàn)即可.在Web中這樣設計實現(xiàn)Tabview比較快捷,如果象可視化編程環(huán)境那樣用動態(tài)隱藏和顯示每個tab對應的view則耗時比較長,有些得不償失.
接下來的工作就簡單了,將菜單部分放在一個DIV tabsHeader中,將內(nèi)容部分放在一個DIV tabsBody中,再把它們放在擁有上下兩個單元格的table中實現(xiàn)上下相接的效果,這樣做在ie里和firfox中都能正常表現(xiàn),如果采用div的話不好設置,容易出現(xiàn)上下交錯或是隔離的效果.
頁面代碼如下:

<!-- 選項卡代碼開始 -->
<table border=0 cellspacing="0" cellpadding="0" height="100%" width="100%">
  
<tr height="20"><td  width="100%">
   
<div id="tabsHeader">
      
<ul>
        
<li><href='javascript:changeTab("date")' id="date"><span>定時取日期</span></a></li>
        
<li><href='javascript:changeTab("time")' id="time" class="current"><span class="current">定時取日期時間</span></a></li>
        
<li><href='javascript:changeTab("random")' id="random"><span>定時取隨機數(shù)</span></a></li>
      
</ul>
    
</div>
  
</td></tr>
  
<tr height="98%" valign="top"><td  width="100%">
    
<div id="tabsBody">
      
<p>點擊每個選項卡</p>
      
<p>程序?qū)⑹褂肁jax從服務器端獲得新數(shù)據(jù)并顯示在內(nèi)容中</p>
      
<p></p>
      
<p></p>
      
<p></p>
    
</div>
  
</td></tr>
</table>
<!-- 選項卡代碼結束 -->

 tabsHeader的CSS定義

#tabsHeader {
  width
:460px;
  height
:100%;
  font-size
:93%;  
  line-height
:normal;
}

#tabsHeader ul 
{
  margin
:0;
  padding
:0px;
  list-style
:none;
}

#tabsHeader li 
{
   display
:inline;
   margin
:0;
   padding
:0;
}

#tabsHeader a 
{
   float
:left;
   background
:url("tableft10.gif") no-repeat left top;
   margin
:0;
   padding
:0 0 0 4px;
   text-decoration
:none;
}

#tabsHeader a.current 
{
   float
:left;
   background
:url("tableft10.gif") no-repeat left top;
   background-position
:0% -42px;
   margin
:0;
   padding
:0 0 0 4px;
   text-decoration
:none;
}

#tabsHeader a span 
{
   float
:left;
   display
:block;
   background
:url("tabright10.gif") no-repeat right top;
   padding
:5px 15px 4px 6px;
   color
:#FFF;
}

#tabsHeader a span.current 
{
   float
:left;
   display
:block;
   background
:url("tabright10.gif") no-repeat right top;
   background-position
:100% -42px;
   padding
:5px 15px 4px 6px;
   color
:#FFF;
}

/* Commented Backslash Hack hides rule from IE5-Mac \*/
#tabsHeader a span 
{
  float
:none;
}

/* End IE5-Mac hack */
#tabsHeader a:hover span 
{
   color
:#FFF;
}


.current 
{
   background-color
:#F6F6F6;
}

tabsBody的CSS定義

#tabsBody{
  width
:460px;
  height
:92%;
  padding
:10px;
  border-left
:1px solid #2763A5;
  border-right
:1px solid #2763A5;
  border-top
:1px solid #2763A5;
  border-bottom
:1px solid #2763A5;
}

 2.點擊選項卡更換內(nèi)容的處理

在可視化編程環(huán)境中點擊選項卡是切換view,在web要這樣實現(xiàn)不是不可以,只是有點費力不討好,其實直接把tabsBody DIV的innerHTML更換掉就實現(xiàn)了view切換的效果.
更換tabsBody DIV的innerHTML需要Ajax的幫助,更換內(nèi)容的示例代碼如下:

更換內(nèi)容的示例代碼

// 取得返回文字
var subInnerHTML=ajaxObj.responseXML.getElementsByTagName("content")[0].xml;

// 給選項頁設置文字
var tabsBodyDiv=document.getElementById("tabsBody");
tabsBodyDiv.innerHTML
=subInnerHTML;


3.當前項的切換

Tabview還有一個視覺上的功能是突出顯示當前選項卡,這個我們可以通過JS修改菜單的class來實現(xiàn).
菜單的代碼如下:

Tabview還有一個視覺上的功能是突出顯示當前選項卡,這個我們可以通過JS動態(tài)修改菜單的class來實現(xiàn).
菜單的代碼如下:
<div id="tabsHeader">
  
<ul>
    
<li><href='javascript:changeTab("date")' id="date"><span>定時取日期</span></a></li>
    
<li><href='javascript:changeTab("time")' id="time" class="current"><span class="current">定時取日期時間</span></a></li>
    
<li><href='javascript:changeTab("random")' id="random"><span>定時取隨機數(shù)</span></a></li>
  
</ul>
</div>


點擊菜單項后,突出當前項的代碼如下,它的思路是先重置所有菜單項,再突出當前菜單項.最后進行Ajax調(diào)用更新View中的innerHtml.

function changeTab(id){
  
var tabs10Div=document.getElementById("tabsHeader");
  
  
// 將所有鏈接標簽重置
  var linkNodes=tabs10Div.getElementsByTagName("a");
  
for(var i=0;i<linkNodes.length;i++){
    linkNodes[i].className
="";
  }

  
// 將所有Span標簽重置
  var spanNodes=tabs10Div.getElementsByTagName("span");
  
for(var i=0;i<spanNodes.length;i++){
    spanNodes[i].className
="";
  }

  
// 將當前選擇的鏈接置深
  var currentLink=document.getElementById(id);
  currentLink.className
="current";
  
  
// 將當前選擇的Span置深
  var currentSpan=currentLink.getElementsByTagName("span")[0];
  currentSpan.className
="current";
    
  ajaxObj
=createAjaxObject(); 
  
var url=prjName+"FetchText?id="+id; 
  
// alert(ajaxObj);
  ajaxObj.open("Get",url,true);
  ajaxObj.onreadyStateChange
=changeTabCallBack;
  ajaxObj.send(
null); 
}


代碼下載:
http://www.blogjava.net/Files/sitinspring/TabView20080506114949.zip
本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
用背景圖實現(xiàn)的 tab 標簽頁導航菜單效果 - tab, 標簽, 導航, 菜單, CSS,
[組圖]使用jQuery與CSS搭建下拉式導航菜單 | 銳博
調(diào)整WORDPRESS顯示寬度
CSS仿淘寶首頁導航條布局效果
穿過已知點畫平滑曲線(3次貝塞爾曲線),點畫貝塞爾
HTML5初學----基礎代碼案例匯總
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服