首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >jQuery切换CSS?

jQuery切换CSS?
EN

Stack Overflow用户
提问于 2010-07-27 02:06:54
回答 5查看 265K关注 0票数 75

我想要在CSS之间切换,这样当用户单击按钮(#user_button)时,它会显示菜单(#user_options)并更改CSS,当用户再次单击它时,它会恢复正常。到目前为止,我只有以下内容:

代码语言:javascript
复制
$('#user_button').click( function() {
    $('#user_options').toggle();
    $("#user_button").css({    
        borderBottomLeftRadius: '0px',
        borderBottomRightRadius: '0px'
    }); 
    return false;
});

有人能帮上忙吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-07-27 02:10:13

对于1.9以下的jQuery版本(请参阅https://api.jquery.com/toggle-event):

代码语言:javascript
复制
$('#user_button').toggle(function () {
    $("#user_button").css({borderBottomLeftRadius: "0px"});
}, function () {
    $("#user_button").css({borderBottomLeftRadius: "5px"});
});

不过,在这种情况下使用类要比直接设置css要好,看看前面提到的addClass和removeClass方法。

代码语言:javascript
复制
$('#user_button').toggle(function () {
    $("#user_button").addClass("active");
}, function () {
    $("#user_button").removeClass("active");
});
票数 125
EN

Stack Overflow用户

发布于 2010-07-27 02:33:15

我将使用jQuery中的toggleClass函数,并将CSS定义为类,例如

代码语言:javascript
复制
/* start of css */
#user_button.active {
    border-bottom-right-radius: 5px;
    border-bottom-left-radius: 5px;
    -webkit-border-bottom-right-radius: 5px; /* user-agent specific */
    -webkit-border-bottom-left-radius: 5px;
    -moz-border-radius-bottomright: 5px;
    -moz-border-radius-bottomleft: 5px; /* etc... */
}
/* start of js */
$('#user_button').click(function() {
    $('#user_options').toggle();
    $(this).toggleClass('active');
    return false;
})
票数 71
EN

Stack Overflow用户

发布于 2010-07-27 02:09:47

您可能希望使用jQuery的.addClass.removeClass命令,并为状态创建两个不同的类。对我来说,这将是最好的实践方式。

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

https://stackoverflow.com/questions/3337621

复制
相关文章

相似问题

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