2017-06-14 10 views
0

ページが読み込まれたときに、クラス「アクティブ」を使用してジョンのタブをアクティブにしたい。ただし、URLが特定のハッシュタグ(この場合は#cindy)で終わっている場合、代わりにページが読み込まれるとCindyのタブが有効になります(例: 'www.index.html#cindy')。URLに基​​づいて、アクティブなクラスをデフォルトのタブから別のタブに削除するにはどうすればよいですか?

これまでのところ、Johnのタブを有効にするページがありましたが、ここからどこに移動してURLに基​​づいてCindyのタブに移動するのかわかりません。

ご協力いただければ幸いです。

CSS

#main-container .onPage.active { 
    display: block; 
} 
#main-container .onPage { 
    display: none; 
} 

HTML

<div id="main-container"> 
    <div class="box"> 
     <div class="btnList" id="tabs"> 
      <ul> 
       <li> 
        <a class="tab linkSection" href="#james"><span>James</span></a> 
       </li> 
       <li> 
        <a class="tab linkSection" href="#cindy"><span>Cindy</span></a> 
       </li> 
      </ul> 
     </div> 
     <div class="onPage" id="james"> 
      <div> 
       <h1 class="icon"><span class="b"></span>Meet James</h1><br> 
      </div> 
     </div> 
     <div class="onPage" id="cindy"> 
      <div> 
       <h1 class="icon"><span class="b"></span>Meet Cindy</h1><br> 
      </div> 
     </div> 
    </div> 
</div> 

JS

$(document).ready(function() { 
    $("div#james.onPage").addClass("active"); 
}); 

答えて

0

urlからハッシュを取得し、空白であるかどうかを確認し、どちらを有効にするかを決定します。

$(document).ready(function() { 
    var hash = window.location.hash; 
    if(hash) { 
     $("div" + hash + ".onPage").addClass("active"); 
    } else { 
     $("div#james.onPage").addClass("active"); 
    } 
}); 
+0

ありがとう、これは素晴らしい基盤でした、私はこれで解決しました: '$(document).ready(function(){ \t var hash = window.location.hash; \t if(hash ===" #cindy "){ \t \t $(" DIV "+ "#cindy" +" .onPage ")addClass(" アクティブ "); \t}そうであれば(ハッシュ=== "#james"){ \t \t $( "div" + "#james" + ".onPage")addClass( "アクティブ"); \t} else { \t \t $( "div#james.onPage")。addClass( "active") ; \t} }); ' – Addy

1

あなたはを使用することができます3210でURLからハッシュを取得します。

$(document).ready(function() { 
    var hash = window.location.hash; 
    if($("div" + hash + ".onPage").length > 0) { 
     $("div" + hash + ".onPage").first().addClass("active"); 
    } else { 
     $("div#james.onPage").addClass("active"); 
    } 
}); 
+0

ありがとうございますが、残念ながら両方のタブがデフォルトで有効になっています。 – Addy

+0

答えを更新しました。ハッシュが存在しない場合、 'first()'は最初のタブをアクティブにします。そうでなければアクティブなハッシュ要素です。 @Addy –

関連する問題