1

私は jQuery の初心者で、背景色をアクティブなメニュー項目に変更したいのですが、方法がわかりません。一部のアイテムを選択すると背景が変わりますが、別のアイテムを選択すると、以前のアイテムは「アクティブな背景色」のままで、デフォルトの色に戻したいのですが、アクティブなメニューアイテムのみが変更されます。

これは現在静的メニューですが、データベースから動的メニューに再構築して、各メニュー項目に固有の ID などを使用できるようにします。

次の方法がわからないので、私はこれを持っています:

        $('#accordian h3').click(function () {
            $(this).addClass("active1")
        });

完全なソースはこちらhttp://jsfiddle.net/BERRF/です。jsfiddle での回答が最適です。よろしくお願いします。

4

4 に答える 4

3

追加:

$("#accordion h3").removeClass("active1");

フィドルでそれを見ることができます。また、2 つのクリック イベントは必要ありません。それらを組み合わせることができます。

http://jsfiddle.net/sx2Z7/

再度設定する前に、すべての h3 からすべての active1 クラスを削除するだけでよいため、現在アクティブなクラスだけが白い背景色になります。

それは明らかですか、それとも質問はありますか?:)

于 2013-08-08T06:55:26.377 に答える
0

h3 にクラスを追加します。

class="accordiontabs"

例えば:

<h3  class="accordiontabs"><span class="icon-tasks"></span><a href="#">Tasks</a></h3>

この変更をJQueryに追加します

$('#accordian h3').click(function () {
                $('.accordiontabs').removeClass("active1");
                $(this).addClass("active1")
            });

ライブデモはこちら

于 2013-08-08T06:59:12.133 に答える
0

前に選択した要素を「リセット」することから始めます。

   $('#accordian h3').click(function () {
       $('.active1').removeClass('active1');
       $(this).addClass("active1")
   });

これでうまくいくはずです。

于 2013-08-08T06:56:46.140 に答える
0

これを試して、最初にクラスactive1を削除してから追加してください

 $('#accordian h3').click(function () {
                $('#accordian h3').removeClass("active1")
                $(this).addClass("active1")
            });

フィドル

于 2013-08-08T06:57:21.183 に答える