首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在JQuery中使用鼠标悬停并单击来更改DIV颜色

在JQuery中使用鼠标悬停并单击来更改DIV颜色
EN

Stack Overflow用户
提问于 2012-04-13 18:50:37
回答 4查看 3.9K关注 0票数 3

有没有人能帮帮忙。我有这两个:

我希望文本在悬停时变为亮绿色,在不悬停时变为白色,在单击时变为红色。

代码语言:javascript
复制
$(".music").hover(
    function() {
        $(this).css('color','lightgreen');
    }, 
    function() {
        $(this).css('color', 'white');
    }
);

$(".music").click(function () { 
    $('#result').load('album_list_index.php');
    $(this).css({ 'color': 'red', 'font-size': '100%' });
});

提前谢谢你

交流

注意:好的,对不起,我没说清楚。

我需要的div是白色的时候不鼠标移过我需要它是绿色时,我需要它是红色的时候,我需要它被点击时,并保持红色,直到另一个按钮被点击。

感谢每个人的输入,特别是添加类和删除类案例,这是一个很好的教训,一旦我掌握了这项技术,我就会用到它。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-04-13 19:02:37

问题是,当我单击该项目时,它会变成红色,但随后又会变成白色,我将鼠标悬停在它上面

如果您希望让click维护状态,最好使用类。试试这个:

代码语言:javascript
复制
a { color: white; }
.active { color: red; }
.hover { color: lightgreen; }
代码语言:javascript
复制
$(".music").hover(
    function() {
        $(this).addClass("hover");
    }, 
    function() {
        $(this).removeClass("hover");
    }
);

$(".music").click(function () { 
    $('#result').load('album_list_index.php');
    $(".music").removeClass("active");
    $(this).removeClass("hover").addClass("active");
});
票数 4
EN

Stack Overflow用户

发布于 2012-04-13 18:52:49

您可以使用CSS伪元素::hover:active

或者,在使用jQuery时,使用.hover().click()方法。

票数 3
EN

Stack Overflow用户

发布于 2012-04-13 18:54:35

只需将您的代码包装在一个$(document).ready(function() { // code here });中,它就会工作。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10139444

复制
相关文章

相似问题

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