首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jQuery -如果然后删除.hover上的类

jQuery -如果然后删除.hover上的类
EN

Stack Overflow用户
提问于 2010-03-29 18:15:33
回答 2查看 2.9K关注 0票数 1

我有以下jQuery函数:

代码语言:javascript
运行
复制
$(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标记:

代码语言:javascript
运行
复制
<ul id="menu">
<li>
<div class="inner">
<div class="button"><img src="images/insightbutton.png" /></div>
<div class="description">&nbsp;</div>
</div>
</li>
<li>
<div class="inner">
<div class="button"><img src="images/insightbutton.png" /></div>
<div class="description">&nbsp;</div>
</div>
</li>
</ul>

如何将.active类应用于活动菜单项,但在.inner徘徊时将其删除?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-03-29 18:32:50

你可以这样做:

代码语言:javascript
运行
复制
$(".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分配)。
  • On
  • ,将active类从所有<li>兄弟姐妹中移除,并将悬停设置为一个到active
  • 在离开悬停时,会从自身中移除active并选择占位符并将活动恢复为原始页面(它们所在的页面)。
票数 1
EN

Stack Overflow用户

发布于 2010-03-29 18:20:33

您只需选择具有div类的active,并删除该类:

代码语言:javascript
运行
复制
$('div.inner').hover(function() {
    $('div.active').removeClass('active');
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2540225

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档