0

目標:動的jQueryスライダー(作成者のデモページとコードはこちら)で非表示/セグメント化するために更新している既存のコンテンツ(多くのテキストと複数のページ)があります。ただし、コンテンツはさまざまな場所にある内部リンクでいっぱいで、個別に更新する必要はありません。

私が思いついた解決策の可能性:(a)jQueryを作成して、アンカーが内部にあるスライダーdivを自動的に検出し、それを自動的に開く、または(b)URLにハッシュタグが含まれている場合は、openAll関数をトリガーしてすべてのスライダーを開く、その後、アンカーの場所までスクロールします。

問題:私はこれが初めてです。私はオプション B を使用し、私のコードは正しい考えを持っていると思いますが、ページが壊れます。アイデア?

var hash = location.hash.replace('#', '');
$('body').find('ul'+hash+':first');
function hashload {
if(window.location.hash) {
    $('.collapsible').openAll();
    $('html, body').animate({
    scrollTop: $('#'+hash).offset().top}, 'fast');}}

すべての鍵を握っている可能性のある関連リソース (別名、これに基づいていたもの...): JQuery のタブ付きコンテンツ内のアンカーへのリンク(および付随するソリューションはこちら: http://jsfiddle.net/TGMDd/65/ )

URL に # が含まれている場合はスクリプトを実行しない...そして: URL ハッシュの場所を取得し、それを jQuery で使用する

クリック時にJQueryスクロールしてアンカーしますか?

お時間をいただきありがとうございました!

4

1 に答える 1

0

それが機能すると仮定し$('.collapsible').openAll();て、次の行を削除してみてください。

$('body').find('ul'+hash+':first'); 
  1. 有効なことを行っているようには見えません。
  2. セレクターが正しくありません。

次のようになります。

$(document.body).find('ul.'+hash+':first');
于 2013-02-28T02:11:00.533 に答える