我有以下jQuery函数:
$(function(){
if ($(".menu li").hasClass("active")) {
$(".active").css("margin-top", "6px");
}
});
这适用于CSS/jQuery菜单,该菜单在每个菜单项悬停时展开和收缩。onClick事件添加了一个margin-top of 6px
,以给出按钮抑制的印象。
然后,我使用PHP来检测用户正在访问的页面,以便将.active
类添加到相关的菜单项中。
问题是,.active类应该保持在的位置,直到用户在不同的菜单项上盘旋。此时,应该从这个元素中删除.active
类--因为.active
类在.hover
事件上被重用。
下面是基本的HTML标记:
<ul id="menu">
<li>
<div class="inner">
<div class="button"><img src="images/insightbutton.png" /></div>
<div class="description"> </div>
</div>
</li>
<li>
<div class="inner">
<div class="button"><img src="images/insightbutton.png" /></div>
<div class="description"> </div>
</div>
</li>
</ul>
如何将.active类应用于活动菜单项,但在.inner徘徊时将其删除?
发布于 2010-03-29 18:32:50
你可以这样做:
$(".menu li.active").addclass("onPage");
$(".menu li").hover(function() {
$(".menu li.active").removeClass("active");
$(this).addClass("active");
}, function() {
$(this).removeClass("active");
$(".menu li.onPage").addClass("active");
});
此代码执行以下操作:
active
(由您的active
分配)。active
类从所有<li>
兄弟姐妹中移除,并将悬停设置为一个到active
。active
并选择占位符并将活动恢复为原始页面(它们所在的页面)。发布于 2010-03-29 18:20:33
您只需选择具有div
类的active
,并删除该类:
$('div.inner').hover(function() {
$('div.active').removeClass('active');
});
https://stackoverflow.com/questions/2540225
复制相似问题