BLOG ENTRY

javascriptとcssでタブ切替えを行う

tabたとえばpurevolumeのアーティストページで使われているようなjavascriptとcssを使ったタブ切替えを行う。
(とりあえず装飾は最低限で。)
サンプルソースコードダウンロード


まずHTML部分。

  1. <!-- ▼タブ名開始 -->
  2. <div class="tablist">
  3.     <span id="tabsel1" class="tab_selector selected" onClick="tabChange(1);">タブA</span>
  4.     <span id="tabsel2" class="tab_selector" onClick="tabChange(2);">タブB</span>
  5.     <span id="tabsel3" class="tab_selector" onClick="tabChange(3);">タブC</span>
  6. </div>
  7. <!-- /タブ名終了▲ -->
  8.  
  9. <!-- ▼タブ内部開始 -->
  10. <div id="tab1" class="tab">
  11.     <h1>タブA内部</h1>
  12. </div>
  13. <div id="tab2" class="noshow">
  14.     <h1>タブB内部</h1>
  15. </div>
  16. <div id="tab3" class="noshow">
  17.     <h1>タブC内部</h1>
  18. </div>
  19. <!-- /タブ内部終了▲ -->

次にCSS部分。

  1. <style type="text/css">
  2. <!--
  3. .tablist {
  4.     height: 20px;
  5. }
  6. .tab_selector {
  7.     border: 1px solid #666666;
  8.     border_bottom: none;
  9.     padding: 2px 5px;
  10.     cursor: pointer;
  11.     background: #ffffff;
  12. }
  13. .selected {
  14.     background: #dddddd;
  15. }
  16. .tab {
  17.     border: 1px solid #666666;
  18.     padding: 0px 10px;
  19.     display: block;
  20.     width: 400px;
  21. }
  22. .noshow {
  23.     display: none;
  24. }
  25. -->
  26. </style>

で、javascript部分。

  1. <script type="text/javascript">
  2. //<![CDATA[
  3. function tabChange(tabNo) {
  4.     var i;
  5.     var tabCount = 3;
  6.    
  7.     /*
  8.     * すべてのタブ名とタブ内部を一度非選択にする
  9.     */
  10.     for (i = 1; i <= tabCount; i++) {
  11.         document.getElementById("tabsel" + i).className = "tab_selector";
  12.         document.getElementById("tab" + i).className = "noshow";
  13.     }
  14.    
  15.     /*
  16.     * 選択されたタブ名とタブ内部を選択状態にする。
  17.     */
  18.     //選択されたタブ名のclass属性をtab_selector selectedに変える。
  19.     document.getElementById("tabsel" + tabNo).className="tab_selector selected";
  20.    
  21.     //選択されたタブ内部のclass属性をtabに変える。
  22.     document.getElementById("tab" + tabNo).className="tab";
  23. }
  24. //]]>
  25. </script>





終わり。

WRITE COMMENT


(required)


(required)


(required)

MENU