前提・実現したいこと
至急希望です。
jQuwry初心者です。
Webで探してコピペで頑張りましたが、最後の最後で躓きました。
お力お貸しください。
別ページからタブ内のアンカーへダイレクトリンク、
及びそのタブ内のリンクからさらに同一ページ内の別タブを開きたいです。
参考にしたサイト
リンク内容
試したこと
別ページからタブ内のアンカーへダイレクトリンクするところまではできました。
そのタブの中にあるリンクから別のタブを開きたいです。
$(function() { $(".tab_link").on("click", function() { $(".list_box").hide(); $($(this).attr("href")).fadeToggle(); $(this).toggleClass("current"); }); });
発生している問題・エラーメッセージ
Uncaught ReferenceError: OnLinkClick is not defined at HTMLAnchorElement.onclick
元ページ
html
1<ul class="icon_link"> 2<li><a href="aaa.html#tab01_a">リンク1</a></li> 3<li><a href="aaa.html#tab02_b">リンク2</a></li> 4<li><a href="aaa.html#tab03_c">リンク3</a></li> 5</ul>
リンク先ページ(aaa.html)
html
1<ul> 2<li><a href="javascript:;" id="tab01" class="tab_btn current">タブ1</a></li> 3<li><a href="javascript:;" id="tab02" class="tab_btn current">タブ2</a></li> 4<li><a href="javascript:;" id="tab03" class="tab_btn current">タブ3</a></li> 5</ul> 6 7<ul class="link_box"> 8<li id="a">タブ1内容 9<a href="#tab2" class="tab_link" onClick="OnLinkClick();">このリンクからタブ2を開きたい</a> 10</li> 11</ul> 12<ul class="link_box hide"> 13<li id="b">タブ2内容</li> 14</ul> 15<ul class="link_box hide"> 16<li id="c">タブ3内容</li> 17</ul>
CSS
css
1.hide{ 2display:none; 3} 4.current{ 5color:red; 6}
jQuery
jQuery
1$(function() { 2$('.tab_btn').click(function() { 3var index = $('.tab_btn').index(this); 4$('.list_box').css('display','none'); 5$('.list_box').eq(index).fadeIn(); 6$('.tab_btn').removeClass('current'); 7$(this).addClass('current') 8}); 9}); 10 11$(function() { 12$(window).load(function(){ 13var hash = location.hash; 14var idname = location.hash.split('_')[1]; 15hash = (hash.match(/^#tab\d+/) || [])[0]; 16var tabname = hash.slice(4); 17var tabname = tabname - 1; 18var tabbar = tabname; 19$(".list_box").addClass('hide'); 20$(".list_box").eq(tabname).removeClass('hide'); 21$(".tab_btn").removeClass('current'); 22$(".tab_btn").eq(tabbar).addClass('current'); 23 24var p = $("#"+idname).offset().top; 25$('html,body').animate({ scrollTop: p }, 'slow'); 26}); 27});
補足情報
情報不足してましたらすみません。
よろしくお願いいたします。