0

クラスがすでに選択されているナビゲーションメニューに「アクティブ」というクラスを追加しました。ホーム メニュー項目またはプロジェクト メニュー項目のいずれかをクリックするとクラスが追加されますが、メニューのリンクからマウスを離すとクラスが削除されます。私は Twitter Bootstrap フレームワークを使用しているため、動作が私のコードによるものなのか、Bootstrap コードによるものなのかわかりません。「選択された」他のクラスが存在する限り、クラスをリンクに残すにはどうすればよいですか? 助けてくれてありがとう。

jQuery

$('#nav_14623').addClass('nav');
$('#nav_14623').addClass('nav-pills');
$('#nav_14623 li.selected').addClass('active');

それに関連するcss(私の知る限り):

.nav-pills > li.active > a,
.nav-pills > li.active > a:hover,
.nav-pills > li.active > a:focus {
color: #ffffff;
background-color: #428bca;
}

ウェブサイトへのリンク: http://jshub.designangler.com

4

1 に答える 1

1

問題はJava_DynMenusSelectedCSS.js49 ~ 52 行目にあります。

if (val)
    this.className = val + " selected";
else
    this.className = "selected";

問題は、ナビゲーション ピルに他のクラス (「アクティブ」など) がある場合、マウスを離すと、className プロパティが「選択済み」に設定され、余分なクラスが削除されることです。

これはそのコードの代替です:

if (val)
    this.className = val + " " + this.className;
else
    this.className = this.className.replace(val, "");

このコードをどこで入手したかはわかりませんが、この問題について言及しているコメントさえあります。

于 2013-09-12T18:51:17.377 に答える