3

Jquery UI アコーディオン モジュールを使用して、クリックするとサブカテゴリ (コンテンツ) を表示するオブジェクト (ヘッダー) のカテゴリを含むサイドバーを作成しようとしています。

アコーディオン自体は正常に機能します。カテゴリをクリックすると、さまざまなサブカテゴリのページへのリンクを含む新しいセクションが表示されますが、メインカテゴリへのリンクは機能しなくなりました。カテゴリをクリックして 2 つのことを行いたいと思います: アコーディオンを適切に変更し、リンクを開きます。

Web を 2 時間検索しましたが、見つけた唯一の手がかりは、アコーディオンの変更イベントへのコールバックを使用することでしたが、私は jQuery/Javascript の初心者なので、これを行う方法がわかりません。それは最良の選択肢です。

「マウスオーバー」を使用してアコーディオンをトリガーすると、すべて正常に機能します。カテゴリのクリック イベントは、まだカテゴリ ページを開いています。mouseover を使用する必要がありますか、またはクリックをイベントとして使用するソリューションはありますか? (問題は、リンクがサーバー側のイベントを生成する必要があるのに対し、jquery はクライアント側のイベントを生成することです)

ここでライブの意味を確認できます(左側のサイドバーの [メディア] をクリックすると、サブカテゴリが開きますが、メディア カテゴリ内のオブジェクトのリストも開きますが、サブメニューの [本] をクリックすると問題なく動作します)。

助けてくれてありがとう!

4

2 に答える 2

2

アコーディオン ヘッダーでリンクを使用する代わりに、アコーディオンの変更イベントを使用します。

http://jqueryui.com/demos/accordion/#event-change

$( "#accordion" ).accordion({
    changestart: function (event, ui) {
        var href = ui.newHeader.attr( "href" );
        // do something with href
    }
});
于 2012-05-31T14:01:23.130 に答える
0

http://jqueryui.com/demos/accordion/#option-navigation

$( ".selector" ).accordion({ navigation: true });
于 2012-05-31T14:11:15.230 に答える