2010-10-20 129 views
1

我有一些CSS樣式的HTML文件,現在我試圖創建垂直選項卡,但是當頁面加載所有內容時,如果我選擇任何特定選項卡只顯示該選項卡的內容,但我只是擔心頁面。如何顯示所有標籤內容?以下是代碼。帶有jQuery的CSS選項卡:僅顯示當前選項卡的內容

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 
    <html> 
<head> 
<title>Follow me!</title> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js" type="text/javascript"></script> 
<style type="text/css"> 
    ul.tabs { 
    margin-top: 20px; 
    padding: 0; 
    list-style: none; 
    height: 32px; /*--Set height of tabs--*/ 
    /*border-bottom: 1px solid #999; 
    border-left: 1px solid #999;*/ 
    float:left; 
} 

ul.tabs li a { 
    text-decoration: none; 
    color: #000; 

    font-size: 1.2em; 
    padding: 0 20px; 
    border: 1px solid #fff; /*--Gives the bevel look with a 1px white border inside the list item--*/ 
    outline: none; 
} 
ul.tabs li a:hover { 
    background: #ccc; 
} 
html ul.tabs li.active, html ul.tabs li.active a:hover { /*--Makes sure that the active tab does not listen to the hover properties--*/ 
    background: #fff; 
    border-bottom: 1px solid #fff; /*--Makes the active tab look like it's connected with its content--*/ 
} 
.tab_container { 
    border: 1px solid #999; 
    border-top: none; 
    overflow: hidden; 
    clear: both; 
    float: left; width: 100%; 
    background: #fff; 
} 
.tab_content { 
    padding: 20px; 
    font-size: 1.2em; 
} 

.spacing { 
    margin-left:90px; 
} 
</style> 
<script type="text/javascript"> 
    $(document).ready(function() { 

    //When page loads... 
    $("ul.tabs li:first-child a").addClass("active").show(); //Activate first tab 
    $(".tab_content #link1").css("display", "block"); //Show first tab content 

    //On Click Event 
    $("ul.tabs li a").click(function() { 

     $("ul.tabs li a").removeClass("active"); //Remove any "active" class 
     $(".tab_content div").css("display","none"); 

     $(this).addClass("active"); //Add "active" class to selected tab 


     var activeTab = $(this).attr("href"); //Find the href attribute value to identify the active tab + content 
     $(activeTab).fadeIn(); //Fade in the active ID content 
     return false; 
    }); 

}); 
</script> 


</head> 
<body> 

      <ul class="tabs"> 
       <li><a href="#link1" class="tab_content">Link1</a></li> 
       <li><a href="#link2" class="tab_content">Link2</a></li> 
       <li><a href="#link3" class="tab_content">Link3</a></li> 

      </ul> 
     <div class="tab_content spacing"> 
      <div id="link1"> 
       <p>Link1</p> 
      </div> 
      <div id="link2"> 
       <p>Link2</p> 
      </div> 
      <div id="link3"> 
       <p>Link3</p> 
      </div> 
     </div> 

</body> 
</html> 

回答

1

嘗試添加該到你的CSS:

div.spacing > div { 
    display: none; 
} 

這隱藏了所有有叔的孩子的div他與班級spacing

或者,更好的 '優雅降解',把他們藏在你的document.ready功能:

$('div.spacing > div').hide(); 
-1

您可能需要使用:

$(".tab_content div")live(,"ready",function(){ 
.... hide tabs that are not link1 
}) 

或你的標籤需要JavaScript來的工作,你可以在開始隱藏和顯示的第一個準備好時(不要忘了你的指令碼的標籤)

相關問題