これは不可能かもしれないと思うので、できる限り説明していきます。タブ(jqueryを使用)を含むページがあり、以下によって制御されています。
前の質問から別のユーザーによって提供されたように、私はこのコードを使用しています。
<script type="text/javascript">
$(function() {
$('html, body').animate({scrollTop:0}); // this is my "fix"
var tabContent = $(".tab_content");
var tabs = $("#menu li");
var hash = window.location.hash;
tabContent.not(hash).hide();
if(hash=="") {
$('#tab1').fadeIn();
}
tabs.find('[href=' + hash + ']').parent().addClass('active');
tabs.click(function() {
$(this).addClass('active').siblings().removeClass('active');
tabContent.hide();
var activeTab = $(this).find("a").attr("href");
$(activeTab).fadeIn();
return false;
});
});
</script>
このコードは、「タブ」ページに直接アクセスするとうまく機能します。
ただし、他のページから個々のタブにリンクする必要がありwindow.location.hash
ます。これを行うには、コードで適切なタブを表示します。
「return false」のため、ページはアンカーに「ジャンプ」しません。
ただし、このイベントはクリックイベントでのみトリガーされます。したがって、他のページから「タブ」にアクセスすると、「ジャンプ」効果がトリガーされます。これに対抗するために、ページの上部に自動的にスクロールしますが、実際にはこれを実行しません。
ページが読み込まれたときに「return false」をシミュレートして、アンカーの「ジャンプ」が発生しないようにする方法はありますか。
これが十分に明確であることを願っています。
ありがとう