幾個不同的tab切換示例


  上一篇《論tab切換的幾種實現方法》中講了tab切換的4種不同實現原理,那么,現在到理論聯系實際的時候了,下面就寫幾個實例。

一、仿”中國人民大學“官網的tab切換,背景是圖片,效果圖如下:

鼠標移到新聞時的效果

鼠標移到公告時的效果

鼠標移到交流時的效果

學術、交流和文體的內容為空,我沒有寫。完整代碼如下:

  1 <!DOCTYPE html>
  2 <html>
  3 <head>
  4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5 <style>
  6   *{
  7     padding: 0;
  8     margin: 0;
  9   }
 10   body{
 11     font-family: Arial,Verdana,sans-serif,"宋體";
 12   }
 13   li{
 14     list-style: none;
 15     float:left;
 16   }
 17   a{
 18     text-decoration: none;
 19     color: #ffeec6;
 20   }
 21   #tanContainer{
 22     height: 210px;
 23     width: 470px;
 24     background: url(homeinfo-trans-bg.png);
 25     overflow: hidden;
 26     color: #ffeec6;
 27   }
 28   #tanContainer li a{
 29     height: 25px;
 30     display: inline-block;
 31     margin-left: 18px;
 32     font-size: 12px;
 33     padding-top: 12px;
 34     margin-bottom: 15px;
 35   }
 36   ul li a.fli {
 37   }
 38   #tabOne{
 39     width: 122px;
 40     opacity: 0;
 41   }
 42   #tabTwo{
 43     padding-left: 102px;
 44   }
 45   #tabCon {
 46     clear: both;
 47   }
 48   #tabCon p a{
 49     color: #FFF2D5;
 50   }
 51   div div p{
 52     font-size: 12px;
 53     margin: 10px 0 0 20px;
 54     width: 440px;
 55   }
 56   #bigPara{
 57     font-size: 16px;
 58     color: #FFF2D5;
 59     border-bottom: 1px dotted #FFF2D5;
 60     padding-bottom: 5px;
 61   }
 62   #tabCon div {
 63     display:none;
 64   }
 65   #tabCon div.fdiv {
 66     display:block;
 67   }
 68 </style>
 69 </head>
 70 <body>
 71   <div id="tanContainer">
 72     <div id="tab">
 73       <ul>
 74         <li><a class="fli" href="#" id="tabOne">新聞</a></li>
 75         <li><a href="#" id="tabTwo">公告</a></li>
 76         <li><a href="#">學術</a></li>
 77         <li><a href="#">交流</a></li>
 78         <li><a href="#">文體</a></li>
 79       </ul>
 80     </div>
 81     <div id="tabCon">
 82       <div class="fdiv">
 83         <p id="bigPara"><a href="#">塞浦路斯總統尼科斯·阿納斯塔西亞迪斯到訪人民大學 獲...</a></p>
 84         <p><a href="#" title="中國人民大學開展專題教育 弘揚焦裕祿精神 踐行“三嚴三實”(2015-10-25)">中國人民大學開展專題教育 弘揚焦裕祿精神 踐行“三嚴三實”(2015-10-25)</a></p>
 85         <p><a href="#">中國人民大學認真落實黨風廉政建設主體責任和監督責任(2015-10-23)</a></p>
 86         <p><a href="#">中國人民大學第四屆體育文化節開幕 2015年新生運動會舉行(2015-10-18)</a></p>
 87         <p><a href="#">中國人民大學“一帶一路”經濟研究院首席顧問聘任儀式舉行 土庫曼斯坦駐華大使拉</a></p>
 88 
 89       </div>
 90       <div>
 91         <p><a>2015-2016學年第一學期第8周校領導接待日安排...(2015-10-22)</a></p>
 92         <p><a>關於舉辦中國人民大學第二屆青年管理干部崗位技能競賽的...(2015-09-30)</a></p>
 93         <p><a>我校第十六門中國大學視頻公開課上線,請大家積極關注...(2015-10-26)</a></p>
 94         <p><a>關於組織我校青年教師參觀魯迅博物館社會實踐活動的通知...(2015-10-23)</a></p>
 95         <p><a>關於舉辦中國人民大學第四屆教工羽毛球“1+1”團體聯...(2015-10-23)</a></p>
 96         <p><a>中國人民大學MOOCs課程錄制演播廳設備購置項目中標...(2015-10-23)</a></p>
 97       </div>
 98       <div>內容三</div>
 99       <div>內容四</div>
100       <div>內容五</div>
101     </div>
102   </div>
103 </body>
104 <script>
105   var tabs=document.getElementById("tab").getElementsByTagName("li");
106   var divs=document.getElementById("tabCon").getElementsByTagName("div");
107 
108   for(var i=0;i<tabs.length;i++){
109     tabs[i].onmouseover=function(){change(this);}
110   }
111 
112   function change(obj){
113   for(var i=0;i<tabs.length;i++){
114     if(tabs[i]==obj){
115     tabs[i].className="fli";
116     divs[i].className="fdiv";
117       if(i==0){
118         document.getElementById("tanContainer").style.backgroundPosition="0 0"
119       }else{
120         document.getElementById("tanContainer").style.backgroundPosition="0 -210px"
121       }
122   }else{
123     tabs[i].className="";
124     divs[i].className="";
125     }
126     }
127   } 
128 </script>
129 </html>
View Code

  此實例是很簡單也很常見的tab切換,js中多了一點的就是改變了背景圖片的位置,其他的就是簡單的樣式。

二、上一篇講了不用js,用input:checked來實現tab切換效果,現在就用此原理加上css3做一個漂亮的實例,在切換的時候,內容區是漸現的。效果圖如下:

鼠標點擊HTML/CSS時的效果

鼠標點擊AJAX時的效果

完整代碼如下:

  1 <!DOCTYPE html>
  2 <html>
  3 <head>
  4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5 <title>input:checked實現tab切換</title>
  6 <style>
  7 .tabs{
  8   color: #FFF;
  9   font-family: "微軟雅黑";
 10 }
 11 input{
 12   opacity: 0;/*隱藏input的選擇框*/
 13 }
 14 input:checked+label{
 15   padding-bottom: 6px;
 16   font-weight: bold;
 17 }
 18 label{
 19   cursor: pointer;/*鼠標移上去變成手狀*/
 20   float: left;
 21 
 22   width: 120px;
 23   line-height: 40px;
 24   margin-right: 5px;
 25   text-align: center;
 26 }
 27 .tabs label:nth-of-type(1){
 28   background: #5eb0de;
 29 }
 30 .tabs label:nth-of-type(2){
 31   background: #86cad7;
 32 }
 33 .tabs label:nth-of-type(3){
 34   background: #e9bab3;
 35 }
 36 .tabs label:nth-of-type(4){
 37   background: #a8c194;
 38 }
 39 label:hover{
 40   font-weight: bold;
 41 }
 42 /*選擇前面有.tabs input:nth-of-type(x):checked的.panels .panel:nth-child(x)*/
 43 .tabs input:nth-of-type(1):checked~.panels .panel:nth-child(1){
 44   opacity: 1;
 45   background: #5eb0de;
 46   -webkit-transition: .3s;
 47 }
 48 .tabs input:nth-of-type(2):checked~.panels .panel:nth-child(2){
 49   opacity: 1;
 50   background: #86cad7;
 51   -webkit-transition: .3s;
 52 }
 53 .tabs input:nth-of-type(3):checked~.panels .panel:nth-child(3){
 54   opacity: 1;
 55   background: #e9bab3;
 56   -webkit-transition: .3s;
 57 }
 58 .tabs input:nth-of-type(4):checked~.panels .panel:nth-child(4){
 59   opacity: 1;
 60   background: #a8c194;
 61   -webkit-transition: .3s;
 62 }
 63 .panel{
 64   opacity: 0;
 65   position: absolute;/*使內容區域位置一樣*/
 66 
 67   height: 200px;
 68   width: 455px;
 69   margin-top: 25px;
 70   padding: 0 20px;
 71 }
 72 </style>
 73 </head>
 74 <body>
 75   <div class="tabs">
 76       <input checked id="one" name="tabs" type="radio">
 77       <label for="one">HTML/CSS</label>
 78 
 79       <input id="two" name="tabs" type="radio">
 80       <label for="two">JavaScript</label>
 81 
 82       <input id="three" name="tabs" type="radio">
 83       <label for="three">AJAX</label>
 84 
 85       <input id="four" name="tabs" type="radio">
 86       <label for="four">Sever Side</label>
 87 
 88       <div class="panels">
 89         <div class="panel">
 90           <h2>HTML文本標簽語言</h2>
 91           <p>HTML 是通向 WEB 技術世界的鑰匙。HTML 非常容易學習!你會喜歡它的!</p>
 92         </div>
 93 
 94         <div class="panel">
 95           <h2>JavaScript腳本語言</h2>
 96           <p>JavaScript 是世界上最流行的腳本語言。<br/>
 97              JavaScript 是屬於 web 的語言,它適用於PC、筆記本電腦、平板電腦和移動電話。<br/>
 98              JavaScript 被設計為向 HTML 頁面增加交互性。
 99           </p>
100         </div>
101 
102         <div class="panel">
103           <h2>AJAX阿賈克斯</h2>
104           <p>AJAX = Asynchronous JavaScript and XML(異步的 JavaScript 和 XML)。<br/>
105           AJAX 不是新的編程語言,而是一種使用現有標准的新方法。<br/>
106           AJAX 是與服務器交換數據並更新部分網頁的藝術,在不重新加載整個頁面的情況下。
107           </p>
108         </div>
109 
110         <div class="panel">
111         <h2>Sever Side服務器腳本</h2>
112           <p>SQL 是用於訪問和處理數據庫的標准的計算機語言。<br/>
113           ASP 是創建動態交互性網頁的強大工具。<br/>
114           ADO 指 ActiveX 數據對象(ActiveX Data Objects)。<br/>
115           PHP 是一種創建動態交互性站點的強有力的服務器端腳本語言。<br/>
116           VBScript 是微軟公司出品的腳本語言。
117           </p>
118         </div>
119 
120       </div>
121   </div>
122 </body>
123 </html>
View Code

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM