0

何よりも、これに対して正しいアプローチを取っているかどうかはわかりませんので、ご容赦ください。

私の問題は次のとおりです。各タブがカテゴリであるアコーディオンを使用しようとしています。展開すると、アコーディオンはそのカテゴリのアーティストを表示します。ここまでは順調ですね。

今、私が達成しようとしていることの他の部分はこれです: タブ (「#」リンクがある) をクリックしたら、AJAX を使用して計画していた div にアーティスト リストを表示する必要があります。 . リンクがアコーディオンのコンテンツの内側にある場合 (たとえば、アーティストをクリックしたい場合) は問題なくこれを行うことができますが、タブをクリックしたときにそれを機能させる方法がわかりません。

私のコードは次のとおりです。

<li class="artistlist">
<a href="#">Photo</a>
<ul>
    <li><a href="artist.html">Artist</a></li>
    <li><a href="artist.html">Artist</a></li>
    <li><a href="artist.html">Artist</a></li>
</ul>
</li>
</ul>

<div id="contentbox">
<div id="artistcat">


</div>
</div><!-- /contentbox -->

そして、私がやろうとしていることは次のとおりです: href=# を次のようなものに置き換えます: <a href="javascript:ajaxpage('ajaxed/abstrakt.html', 'contentbox');">Abstrakt</a>

したがって、カテゴリ (たとえば、「写真」) をクリックすると、アコーディオンが展開され (それが行われます)、コンテンツが ajax ボックスに表示されます。これは、サムネイルのみのアコーディオンのコンテンツとまったく同じです。

したがって、基本的には、そのタブ リンクに 2 つのアクションを実行させる必要があります。1) アコーディオンを展開し、2) ajax コンテンツを表示します。

おそらく AJAX ソリューションは間違った方法であると考えています。いずれにせよ、どんな助けも大歓迎です。

4

2 に答える 2

2

jQuery を使用して、必要なことを実行する小さなコードを作成してみてください。

お気に入り

$('#contentbox').click( function() {
   $('#content').ajax( /* do ajax stuff */ );
   // animate accordion
});
于 2013-05-30T07:58:26.937 に答える
0

可能であれば、jQuery またはその他のライブラリを使用してください。

  • オブザーバーを使用してクリック イベントをトラップします。このようにして、HTML を JavaScript から分離します。
  • ajaxリクエストを行うために使用=>「成功した場合」に複数のことを実行し、ajaxリクエストが失敗したときにクリーンなエラーをスローできます。
  • ライブラリは、複数のオブザーバー「onClick」をトリガーするツールも提供します
于 2013-05-30T08:17:02.380 に答える