1

Jquery UI "Menu" API を使用して、アプリケーションでナビゲーション メニューを作成しています。

メニューはうまく描画され、リンクされます。その上にカーソルを合わせると、自然な jquery ui css が適用され、ホバーされた要素に ui-state-focus クラスが与えられます。要素からマウスを離すと、このクラスが削除され、要素がデフォルトの強調表示されていない状態になります。

このクラスが与えられたメニューの要素に特定の CSS を適用する標準の jquery ui css クラス「ui-state-active」を追加して実験しました。ただし、他の要素をホバリングすると、この ui-state-active クラスはアクティブな要素から削除され、新しい選択がまだ (クリックで) 行われていない場合でも、ホバーによってアクティブな選択が事実上強制終了されます。

ホバリング クラスを追加したままにできるようにしたいのですが、ACTIVE クラスはそのままにして、各ページでアクティブなメニュー要素に常にアクティブなクラスが含まれるようにします。

jquery UIメニューAPIでアクティブな要素をマークする適切な方法に関するアイデアはありますか?

4

2 に答える 2

4

選択したアイテム用に別のクラスを作成することをお勧めします (既存の ui-state-active をコピーして、selected のような名前に変更できます)。

    $("#menu").find("a").click(function(){
    $("#menu").find("a").removeClass("selected");//remove if something was selected
    $(this).addClass("selected");//add a selected class
    });

それが役立つことを願っています

于 2013-03-06T06:28:01.337 に答える