html:リンク元
<a href="<?= get_page_link( 7 ) ?>#tab2">タブ2を開いて</a>
html:リンク先
<ul class="tab_list"> <li class="active" data-tab="tab1"><a id="tab1">タブ1</a></li> <li data-tab="tab2"><a id="tab2">タブ2</a></li> </ul> <div class="tab_content"> <div class="ac_content active">タブ1コンテンツ</div> <div class="ac_content">タブ2コンテンツ</div> </div>
<script> $(function () { // URL ページ内リンク取得 let pram = location.hash; // URLのhashが#tab2だったらタブ2を開く if( pram === '#tab2'){ $('[data-tab="tab1"]').removeClass('active'); $('[data-tab="tab2"]').addClass('active'); $('.ac_content').toggleClass('active'); } }); </script>
活用編
例えば、フォームなどをタブ切り替えで設置していた場合、確認ページも同じタブを開きたい。
html
<ul> <li class="active" data-tab="tab_1"> <a id="tab_1">タブ1</a> </li> <li data-tab="tab_2"> <a id="tab_2">タブ2</a> </li> </ul> <div> <div class="ac_content active">タブ1フォーム</div> <div class="ac_content">タブ2フォーム</div> </div>
1.aタグのhrefにid名が入るように指定する 2.hashを取得 3.activeクラスを付与・削除
<script> // タブ2をクリックしたらタブ2のaタグにhrefを追加 $('[data-tab="tab_2"]').click(function(){ $('#tab_2').attr("href",'#tab_2'); }); // URL ページ内リンク取得 let pram_recruit = location.hash; // URLハッシュがタブ2から来たらtab_2を開く if( pram_recruit === '#tab_2'){ $('[data-tab="tab_1"]').removeClass('active'); $('[data-tab="tab_2"]').addClass('active'); $('.ac_content').toggleClass('active'); } </script>