【问题标题】:jQuery IF / Else StatementjQuery IF/Else 语句
【发布时间】:2023-10-28 05:49:01
【问题描述】:

我正在尝试检查 CSS 'display' 属性是否设置为“none”,以及是否将元素“menuBK”向下滑动,否则为“slideUp”“menuBK”,但我得到了我的 IF 行出错。

$(document).ready(function(){
    $("#burger").click(function(){
        if $("#menuBK").css( "display", "none" ); {
            $("#menuBK").slideDown('slow');
            $('body').addClass('noscroll');
        } else {
            $("#menuBK").slideUp('slow');
            $('body').removeClass('noscroll');
        } 
    }); 
});

【问题讨论】:

  • 给我们jsfiddle.net 发布错误消息的确切措辞
  • 正在寻找$("#menuBK").is(':hidden')$("#menuBK").not(':visible')
  • 我怀疑你的 JavaScript 控制台试图告诉你一个语法/解析错误。你可能想看看它......
  • 为什么不只使用slidetogglejsfiddle.net/qx826/1

标签: jquery css if-statement


【解决方案1】:

你需要把if $("#menuBK").css( "display", "none" );改成if ($("#menuBK").css( "display")=="none")

$(document).ready(function(){
    $("#burger").click(function(){
      if ($("#menuBK").css( "display")=="none") {
        $("#menuBK").slideDown('slow');
        $('body').addClass('noscroll');
    } 
    else {
        $("#menuBK").slideUp('slow');
        $('body').removeClass('noscroll');
    } 
    }); 
});

或者你可以使用 jQuery is() 方法

$(document).ready(function(){
    $("#burger").click(function(){
      if ($("#menuBK").is(":hidden")) {
        $("#menuBK").slideDown('slow');
        $('body').addClass('noscroll');
    } 
    else {
        $("#menuBK").slideUp('slow');
        $('body').removeClass('noscroll');
    } 
    }); 
});

【讨论】:

    【解决方案2】:

    删除; if 后面加上 ()

    if ($("#menuBK").css( "display" ) == 'none') {
            $("#menuBK").slideDown('slow');
            $('body').addClass('noscroll');
        } 
        else {
            $("#menuBK").slideUp('slow');
            $('body').removeClass('noscroll');
        } 
    

    【讨论】:

      【解决方案3】:

      使用 jquery :visible 选择器。

      $(document).ready(function(){
          $("#burger").click(function(){
            if ($("#menuBK:visible").length == 0) {
              $("#menuBK").slideDown('slow');
              $('body').addClass('noscroll');
          } 
          else {
              $("#menuBK").slideUp('slow');
              $('body').removeClass('noscroll');
          } 
          }); 
      });
      

      【讨论】: