【问题标题】:jQuery - Can the show() function return true?jQuery - show() 函数可以返回 true 吗?
【发布时间】:2014-11-22 11:59:47
【问题描述】:

我已经使用 jQuery 制作了一个脚本,例如:

$(document).ready(function() {
    $('a[name=pmRead]').click(function(e) {
        e.preventDefault();

        var pmtext=$(this).parents(".pmMain").find(".pmMain5");
    });         
});

现在,我想使用 pmtext.show() 之类的函数,如果元素可见,则返回 TRUE。否则,我想返回 FALSE。使用 show() 获得 TRUE/FALSE 的任何更改? (或姊妹函数 hide())。

【问题讨论】:

    标签: jquery


    【解决方案1】:

    有检查可见性的功能,但不是show()/hide()

    if (pmtext.is(':visible')) {
        // ....
    }
    

    【讨论】:

      【解决方案2】:

      为什么不使用以下内容:

      pmtext.is(":visible");
      

      如果可见,则提供布尔值 true,否则提供 false。相反,您可以使用pmtext.is(":hidden");

      如果你想做一些可见的事情,试试:

      $(this).parents(".pmMain").find(".pmMain5:visible").hide();  // only finds it if visible
      

      【讨论】:

        【解决方案3】:

        如果您需要返回 true 或 false,我建议您编写一个自定义函数。

        function customShow(element)
        {
            if( $( element ).is( ':visible' ) )
                return true;
        
            $( element ).show();
            return false;
        }
        

        【讨论】:

        • 但是 $(element).is(":visible") 已经返回 true 或 false - 为什么要包装它?
        • 公平点——包装它的唯一原因是根据该元素的可见性执行其他操作。
        • 你不能使用:visible选择器吗?
        【解决方案4】:

        您可以编写自己的简单函数,以检查其是否可见。

        注意:该函数接受一个 jQuery 元素作为输入。

        function isVisible($element) {
           return $element.css("display").toLowerCase() != "none");
        }
        

        【讨论】:

        • 为什么要发明轮子? $(element).is(':visible') 就是这样做的!
        • 已经有.is(":visible"):visible 选择器。
        【解决方案5】:

        你看过 .toggle() 方法吗?它可以选择接受“showOrHide”参数。

        【讨论】:

          【解决方案6】:

          <script language="JavaScript">

          function menu(bolum) {

          if ( bolum.style.display =='none') { bolum.style.display='';islem.style.display='';} else {bolum.style.display='none';} }

          </script>

          <img src="images/biz-arayalim.png" onclick="menu(firmamesajkutusu)" style="cursor:pointer;"> <div name="firmamesajkutusu" id="firmamesajkutusu"></div>

          旧系统javascript全部div控制功能

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2018-09-25
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多