看到Sunnyhall在文章里使用了tab选项卡的效果,很不错,也想弄一个过来,网上扒了一串代码,样式没有怎么改。

首先是DIV部分

  1. <div id="jv_tabs"><span><a href="#" name="#tab1">标题一</a></span><span><a href="#" name="#tab2">标题二</a></span><span><a href="#" name="#tab3">标题三</a></span><span><a href="#" name="#tab4">标题四</a></span></div><div id="jv_content"><div id="tab1" class="jv_act">内容一</div><div id="tab2" class="jv_act">内容二</div><div id="tab3" class="jv_act">内容三</div><div id="tab4" class="jv_act">内容四</div></div>

然后是CSS

  1. #jv_tabs {
  2.   overflowhidden;
  3.   width: 100%;
  4.   margin: 0;
  5.   padding: 0;
  6.   list-stylenone;
  7. }
  8. #jv_tabs span {
  9.   floatleft;
  10.   margin: 0 -15px 0 0;
  11. }
  12. #jv_tabs a {
  13.   floatleft;
  14.   positionrelative;
  15.   padding: 0 40px;
  16.   height: 0;
  17.   line-height30px;
  18.   text-transformuppercase;
  19.   text-decorationnone;
  20.   color#fff;      
  21.   border-right30px solid transparent;
  22.   border-bottom30px solid #3D3D3D;
  23.   border-bottom-color#777\9;
  24.   opacity: .3;
  25.   filter: alpha(opacity=30);      
  26. }
  27. #jv_tabs a:hover,
  28. #jv_tabs a:focus {
  29.   border-bottom-color#2ac7e1;
  30.   opacity: 1;
  31.   filter: alpha(opacity=100);
  32. }
  33. #jv_tabs a:focus {
  34.   outline: 0;
  35. }
  36. #jv_tabs #current {
  37.   z-index: 3;
  38.   border-bottom-color#3d3d3d;
  39.   opacity: 1;
  40.   filter: alpha(opacity=100);      
  41. }
  42. /* ------jv_content----- */
  43. #jv_content {
  44.     background#fff;
  45.     border-top2px solid #3d3d3d;
  46.     padding: 0;
  47.     /*height: 220px;*/
  48. }
  49. #jv_content h2,
  50.   #jv_content h3,
  51.   #jv_content p {
  52.     margin: 0 0 15px 0;
  53. }  

最后加一段脚本

  1. <script>
  2.     function resetjv_tabs(){
  3.         $("#jv_content > div").hide(); //Hide all jv_content
  4.         $("#jv_tabs a").attr("id",""); //Reset id's      
  5.     }
  6.     var myUrl = window.location.href; //get URL
  7.     var myUrlTab = myUrl.substring(myUrl.indexOf("#")); // For localhost/jv_tabs.html#tab2, myUrlTab = #tab2     
  8.     var myUrlTabName = myUrlTab.substring(0,4); // For the above example, myUrlTabName = #tab
  9.     (function(){
  10.         $("#jv_content > div").hide(); // Initially hide all jv_content
  11.         $("#jv_tabs li:first a").attr("id","current"); // Activate first tab
  12.         $("#jv_content > div:first").fadeIn(); // Show first tab jv_content
  13.         
  14.         $("#jv_tabs a").on("click",function(e) {
  15.             e.preventDefault();
  16.             if ($(this).attr("id") == "current"){ //detection for current tab
  17.              return       
  18.             }
  19.             else{             
  20.             resetjv_tabs();
  21.             $(this).attr("id","current"); // Activate this
  22.             $($(this).attr('name')).fadeIn(); // Show jv_content for current tab
  23.             }
  24.         });
  25.         for (i = 1; i <= $("#jv_tabs li").length; i++) {
  26.           if (myUrlTab == myUrlTabName + i) {
  27.               resetjv_tabs();
  28.               $("a[name='"+myUrlTab+"']").attr("id","current"); // Activate url tab
  29.               $(myUrlTab).fadeIn(); // Show url tab jv_content        
  30.           }
  31.         }
  32.     })()
  33. </script>

注意:这个效果需要有jQuery库的支持,1.7.2版以上。

css3 tabs