前提・実現したいこと
初めて質問いたします。
Javascriptを使用し、タブを動かしています。
同じページにある、複数のアンカーリンクから、
タブを開き、該当のアンカーまでスクロール、画面表示をさせたいです。
ページ内リンクが複数あり、タブ外から→タブ内アンカーへのリンクで、
同じ質問が見つけらなかったので質問させていただきました。
- アンカーリンク1は、タブ1の#aaaへ。
- アンカーリンク2は、タブ3の#bbbへ。
どなたかご教授ください。
どうぞ宜しくお願いします。
該当のソースコード
HTML
1<a href="#aaa" onclick="OnLinkClick();">>>タブ1の中にあるページ内リンクに飛ぶリンク</a> 2<a href="#bbb" onclick="OnLinkClick();">>>タブ3の中にあるページ内リンクに飛ぶリンク</a> 3 4<div class="tabs"> 5 <input id="feature" type="radio" name="tab_item" checked> 6 <a href="javascript:void(0);" class="btn_act active"><label class="tab_item" for="feature"><span>▼</span>タブ1</label></a> 7 <input id="programming" type="radio" name="tab_item"> 8 <a href="javascript:void(0);" class="btn_act"><label class="tab_item" for="programming"><span>▼</span>タブ2</label></a> 9 <input id="design" type="radio" name="tab_item"> 10 <a href="javascript:void(0);" class="btn_act"><label class="tab_item" for="design"><span>▼</span>タブ3</label></a> 11 <div class="tab_content" id="motion_area1"> 12 <div class="tab_content_description"> 13 <p >タブを開いた中身1</p> 14 <p >タブを開いた中身1</p> 15 <p >タブを開いた中身1</p> 16 <p >タブを開いた中身1</p> 17 <p >タブを開いた中身1</p> 18 <p id="aaa">ページ内リンクで飛びたい場所</p> 19 </div> 20 </div> 21 <div class="tab_content" id="motion_area2"> 22 <div class="tab_content_description"> 23 <p > 24 タブを開いた中身2 25 </p> 26 </div> 27 </div> 28 <div class="tab_content" id="motion_area3"> 29 <div class="tab_content_description"> 30 <p >タブを開いた中身3</p> 31 <p >タブを開いた中身3</p> 32 <p >タブを開いた中身3</p> 33 <p >タブを開いた中身3</p> 34 <p >タブを開いた中身3</p> 35 <p >タブを開いた中身3</p> 36 <p id="bbb">ページ内リンクで飛びたい場所</p> 37 </div> 38 </div> 39</div> 40<script language="javascript" type="text/javascript"> 41$(function(){ 42 $("a.btn_act").click(function(){ 43 var connectCont = $("a.btn_act").index(this); 44 var showCont = connectCont+1; 45 $('.tab_content').css({display:'none'}); 46 $('#motion_area'+(showCont)).slideDown('normal'); 47 48 $('a.btn_act').removeClass('active'); 49 $(this).addClass('active'); 50 }); 51}); 52</script>
試したこと
下記リンクなど5例ほど試してみたりはしたのですが、
https://teratail.com/questions/22933
タブ内からタブ内であったり、ページ外からのリンクであったり、
希望としているものでは無かったこともあり、やはりうまく動作しませんでした。
また、CSSでタブを作った際には下記を使用して動かすことはできたのですが、
下記のscriptですと、一つのアンカーリンクにしか使えず。。
詳しくない為に応用することが出来ませんでした。
HTML
1<script language="javascript" type="text/javascript"> 2 function OnLinkClick() { 3 var elements = document.getElementsByName( "tab_item" ) ; 4 elements[2].checked = true ; 5 /* elements[0]⇒タブ1、elements[1] ⇒タブ1、elements[2] ⇒タブ3 */ 6 } </script>
。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/10/29 00:27 編集