首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Jquery如果条件CSS

Jquery如果条件CSS
EN

Stack Overflow用户
提问于 2014-04-04 11:29:45
回答 6查看 261关注 0票数 0

我有这样的代码:'slideToggle‘函数--它工作得很好,但是背景色没有变化。有小费吗?谢谢

jQuery:

代码语言:javascript
运行
复制
$("#btnContactMob").on("click", function(){
  $("#contactMob").stop(true).slideToggle();
});

if (('#contactMob').is(':visible')) {
  $('#btnContactMob').css('background-color', '#FFF');
}

CSS:

代码语言:javascript
运行
复制
#btnContactMob {
    cursor: pointer;
    width: 100%;
    height: 55px;
    color: #333;
    background-color: #CCCCCC;
    border-top:1px solid #1a1a1a;
    font-family: Lato-Regular;
    text-align: center;
    padding-top: 10px;
    font-size: 26px;
}
    #contactMob {
    width: 100%;
    height:100%;
    position: relative;
    background-color: #FFF;
    float: left;
    display: none;
    }
EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2014-04-04 11:32:47

您需要将条件检查移到slideToggle回调。

代码语言:javascript
运行
复制
var $el = $('#contactMob');
var $btn = $("#btnContactMob").on("click", function () {
    $el.stop(true).slideToggle(function () {
        $btn.css('background-color', $el.is(':visible') ? '#FFF' : '');
    });
});

演示:小提琴

票数 0
EN

Stack Overflow用户

发布于 2014-04-04 11:32:48

看起来您在if语句中漏掉了一个$,请尝试:

代码语言:javascript
运行
复制
$("#btnContactMob").on("click", function(){
  $("#contactMob").stop(true).slideToggle();
});

if ($('#contactMob').is(':visible')) {
  $('#btnContactMob').css('background-color', '#FFF');
}

更新

也同意上面的答案,你应该做这个检查,每次它被点击。

票数 0
EN

Stack Overflow用户

发布于 2014-04-04 11:33:17

看起来您缺少了jquery $符号:

代码语言:javascript
运行
复制
if ($('#contactMob').is(':visible')) {
    $('#btnContactMob').css('background-color', '#FFF');
}

整个if需要在单击处理程序中移动。

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

https://stackoverflow.com/questions/22861598

复制
相关文章

相似问题

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