2011-01-13 13 views
1

マウスオーバーでattrクラスを追加するメニューがあります。 選択したタブが選択されていて、ページがリロードされている場合は、このクラスがありますjqueryで作成された場合のみattrを削除します

私はそれをマウスで出したいと思います。追加したクラスを削除することができます。ページにロードされたもの - どうすればいいですか?

答えて

2

いくつかの方法があります。 1つの方法は、データを使用することです。

$("whatever").mouseover(function(){ 
    if (!$(this).hasClass("someClass")) { 
    $(this).addClass("someClass").data("addedByMe",true); 
    } 
}); 

$("whatever").mouseout(function(){ 
    if ($(this).data("addedByMe") == true){ 
     $(this).removeClass("someClass"); 
    } 
}); 
0

私は(そのようselectedfocusedなど)2人のcalss名を使用してお勧めします。

タブを選択したときに、selectedクラスを追加しました。マウスオーバーおよびアウトイベントはクラスのみを変更します。

必要に応じて、selectedfocusedの両方に同じCSSルールセットを設定することができます。

$(".menu-item").mouseover(function() { 
    $(this).addClass("focused"); 
    // or if you don't want the effect affect the selected item, use the following: 
    // if(!$(this).hasClass("selected")) { $(this).addClass("focused"); } 
}).mouseout(function() { 
    $(this).removeClass("focused"); 
}); 
0

ページロード時に変数を設定できます。

var isClassAppliedAtLoad = false; 

if ($("#yourelement").hasClass("yourclassname")) { 
    isClassAppliedAtLoad = true; 
} 

あなたのマウスオーバーイベントでは、変数をチェックすることができます。

関連する問題