私は scrollspy を使用しようとしていますが、http://twitter.github.com/bootstrap/javascript.html#scrollspyでは、例が機能していないようで、ヘッドアップもあります:
Heads up! Navbar links must have resolvable id targets. For example, a <a href="#home">home</a> must correspond to something in the dom like <div id="home"></div>.
問題は、scrollspy が私のサイトの機能の 1 つにすぎず、ページに id ターゲットがない場合でもたまたま常に読み込まれていることです。これにより、headsup で予測されるエラーが発生します。
エラー:
uncaught exception: Syntax error, unrecognized expression: #
scrollTo.js プラグインを使用しているときにも同じエラーが発生します。
そのため、条件を追加して、DOM に id ターゲットがある場合にのみ scrollspy をアクティブにしようとしています。
$('.nav-scrollspy').each(function() {
var $nav = $(this).find('a');
var linkHref = $nav.attr('href').split('#')[1];
if ($('#' + linkHref).length) {
$(this).scrollspy();
}
});
リンクから最初に見つかったハッシュのみにフィルタリングする必要があると思うため、上記は失敗します。
問題のヒントや別のより良い方法をいただければ幸いです。ありがとう