我有一个菜单,鼠标悬停将添加attr类。 如果选择了选定的选项卡并且使用它重新加载页面,则它具有此类
我希望在鼠标输出时我只能删除添加的类,如果它是我刚添加的那个而不是加载到页面的那个 - 我怎么能?
答案 0 :(得分:2)
有几种方法可以做到。一种方法是使用数据。
$("whatever").mouseover(function (){
if (!$(this).hasClass("someClass")) {
$(this).addClass("someClass").data("addedByMe",true);
}
});
$("whatever").mouseout(function (){
if ($(this).data("addedByMe") == true){
$(this).removeClass("someClass");
}
});
答案 1 :(得分:0)
我建议使用两个calss名称(例如selected
和focused
)。
因此,当您选择一个标签时,可以向其添加selected
类。鼠标翻转和输出事件仅改变focused
类。
如果需要,您可以将selected
和focused
设置为具有相同的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");
});
答案 2 :(得分:0)
您可以在页面加载时设置变量。
var isClassAppliedAtLoad = false;
if ($("#yourelement").hasClass("yourclassname")) {
isClassAppliedAtLoad = true;
}
在您的鼠标悬停事件中,您可以检查变量。