そのため、サイトSTVPlusでは、ブートストラップとタブスクリプトを使用して、さまざまなテレビ番組のエピソードと記事のリストを表示しています。ページが読み込まれると(通常は)正常に機能するという問題があります。タブを選択すると、適切なdivが表示されます。ただし、すでにアクティブなdivを選択すると、ページがジャンプダウンします。また、エピソードのハッシュタグリンクのようなハッシュタグを使用してページをロードすると、ページが完全にロードされると自動的にジャンプダウンします。Chrome開発ツールを使用してJSコードをステップ実行しようとしましたが、明らかなものは見つかりませんでした。
どんな助けでもいただければ幸いです。
サンプルコード:
$(function()
{
$('.sidebar').jScrollPane();
// Bind an event to window.onhashchange that, when the hash changes, gets the
// hash and adds the class "selected" to any matching nav link.
$(window).hashchange( function(){
var hash = location.hash;
if ( hash == '#episodes'){
//e.preventDefault();
$('.nav-pills a:last').tab('show');
}else{
//e.preventDefault();
$('.nav-pills a:first').tab('show');
}
})
// Since the event is only triggered when the hash changes, we need to trigger
// the event now, to handle the hash the page may have loaded with.
$(window).hashchange();
return false;
});
エピソードのdivコンテナはそのようなものです
<div class="tab-pane" id="episodes"> ..... </div>
クリックしたタブはそのようなものです
<ul class="nav nav-pills pull-right" data-tabs="tabs">
<li class="active"><a href="<?php echo current_url(); ?>#articles">Latest Articles</a></li>
<li><a href="<?php echo current_url(); ?>#episodes">Upcoming Episodes</a></li>
</ul>
http://benalman.com/projects/jquery-hashchange-plugin/で最新のjqueryを使用しています