检测到CSS显示块时如何执行JQuery函数

时间:2016-01-08 06:42:58

标签: javascript jquery html css

单击注册DIV时,我有一个包含两种类型消息的HTML代码。单击“注册”错误时,将显示错误消息。单击注册成功时,将显示成功消息。默认情况下,这些消息设置为display:none。

我的目标输出是创建一个单独的jQuery函数“detectDisplay()”,该函数执行“仅当成功消息有CSS代码显示:block”时。

以下是我的代码。任何帮助表示赞赏。谢谢。

CSS:

.cs_error { display: none; }
.cs_success { display: none; }

HTML:

<div class="cs_signUp" onclick="showError(); detectDisplay();">Sign up &raquo; error </div>
<div class="cs_signUp" onclick="showThanks(); detectDisplay();">Sign up &raquo; success </div>
<br/>
<div class="cs_success">
    <div>Thank you for signing up!</div>
</div>
<div class="cs_error">
    <div>Invalid input! Please try again!</div>
</div>

SCRIPT:

function showError() {
    $(".cs_success").css("display","none");
    $(".cs_error").css("display","block");
}

function showThanks() {
    $(".cs_error").css("display","none");
    $(".cs_success").css("display","block");
}

function detectDisplay() {

}

3 个答案:

答案 0 :(得分:2)

您可以检查元素是否可见?

if($('.cs_success').is(':visible')){
  //do stuff
}

答案 1 :(得分:2)

您可以使用它来检查元素css是否为显示块。

     <script type="text/javascript">
       if($('.cs_success').css('display') == 'block') { }
    </script>

答案 2 :(得分:1)

您的detectDisplay()应该如下。

function detectDisplay() {
    if($('.cs_success').is(':visible')){
        //do your task here
    }
}