0

私はしばらくの間、外部リンクからjQueryUIアコーディオンのパネルをアクティブ化しようとしてきました。

アコーディオンウィジェットが表示されているページ内に、アコーディオンのパネルをアクティブ化するために使用したいリンクがあります。これらのリンクは、アコーディオンウィジェットのマークアップ内にありません。

これらのリンクはタブの双方向性を操作しており、AJAXコンテンツをポップするために使用されます。アプリケーションの一部の状態では、アコーディオンのオプションオブジェクトの{navigation:true}部分が忘れられます。これは、アプリケーションの特定の状態に戻るためにwindow.reload.location()を開始しているためだと思います。

以下の関数はこれを示しています。私が必要だと思うのは、ハッシュ上に構築されたカスタムナビゲーションフィルター、またはユーザーが使用しているURLに応じてアコーディオンパネルをアクティブ化するためにこの関数内で機能する場所です。スクリプトの最初でナビゲーションをtrueに設定しましたが、次のスクリプトは後で表示されます...

// "Back to xxxtabTitle" button used to revert tabs to their default state after    
// photoNav pop-in AJAX content has been loaded
$('#mainContent').on('click', '.backToInitTab', function(event) {
    event.preventDefault();
    window.location.reload();

  // accordion navigation filter to open correct accordion panel on click event
    // Can you help with this? I'd greatly appreciate it.
  // /accordion navigation filter
    });

// /"Back to xxxtabTitle" button

この問題に関するヘルプや洞察をいただければ幸いです。前もって感謝します。よろしくお願いいたします。ディック・カークランド

4

2 に答える 2

1

答えの一種:ページのリロードを実行するボタンやwindow.location.reload()を使用したUIタブパネルを含むサイトのデザインを使用しているため、jQueryUIアコーディオンでのナビゲーションオプションの使用を断念する必要がありました。 。サイトにこのコンテンツのリロードがある場合は、目的のアコーディオンパネルを開くとナビゲーションが有効になり始めますが、パネルが縮小するのがわかります。これは、通常、アコーディオンパネル自体からのクリックが、ハッシュ履歴への反応方法をUIアコーディオンコンポーネントに指示するためだと思います。ナビゲーションをオフにし、最小ページで開くパネルを手動でインスタンス化しました。これにより、AJAX機能(タブ付きコンテンツ)でアコーディオンパネルを開いたままにすることができ、表示されるアニメーションは、ページ全体がリロードされたときだけです。

于 2012-08-01T18:25:57.690 に答える
0

書きます

$( "#accordion").accordion({active:2});

このサイトを参照してください

于 2012-07-23T12:10:54.120 に答える