如何使用 . hide () 、.show () 或.toggle () 来切换元素的可见度 ?

如果元素可见或隐藏, 我如何测试 ?


当前回答

下面的代码检查,如果元素隐藏在jquery或可见

// You can also do this...

        $("button").click(function(){
            // show hide paragraph on button click
            $("p").toggle("slow", function(){
                // check paragraph once toggle effect is completed
                if($("p").is(":visible")){
                    alert("The paragraph  is visible.");
                } else{
                    alert("The paragraph  is hidden.");
                }
            });
        });

其他回答

$( document). ready( { var discrible () { var revision = $ (' retemintion' ). is (': visible' ) ; 如果 (visible) { 备注 (“ 可见”) { 备注 ” ; // code} 其它 { 备警 (“ hidden” ) ;}} } ; & lt; 标注 src= "https://code. jquery. com/jquery-1.10.2. js; & gt;/ statimt>

我搜索了这个, 没有一个答案 是正确的我的情况, 所以我创造了一个功能, 返回假的,如果一个人的眼睛看不到元素

jQuery.fn.extend({
  isvisible: function() {
    //
    //  This function call this: $("div").isvisible()
    //  Return true if the element is visible
    //  Return false if the element is not visible for our eyes
    //
    if ( $(this).css('display') == 'none' ){
        console.log("this = " + "display:none");
        return false;
    }
    else if( $(this).css('visibility') == 'hidden' ){
        console.log("this = " + "visibility:hidden");   
        return false;
    }
    else if( $(this).css('opacity') == '0' ){
        console.log("this = " + "opacity:0");
        return false;
    }   
    else{
        console.log("this = " + "Is Visible");
        return true;
    }
  }  
});

有两种方法可以检查元素的可见度。

解决办法1

if($('.selector').is(':visible')){
    // element is visible
}else{
    // element is hidden
}

解决办法2

if($('.selector:visible')){
    // element is visible
}else{
    // element is hidden
}

启动 adblucer 使用可见检查的示例 :

$( document). ready( 职能 () { 如果 ($( " ablocker check" ) ) $( " " a blockermsg" ) $( "请禁用 a blockermsg" ) 。 text ("请禁用 a blockercher " ) 。show (; }) ; & lt; 上标 src= "https://ajax.googleapis. com/ajax/ libs/ jquery/ 2. 1.1/jquery. min. js" & gt; < / split> /div> = " a blockercheck" = " a blockergsg" ty= "display: non' gt;/ div>

“ 阻塞检查” 是一个 adblocker 区块的代号。 所以如果它可见, 您可以检测是否打开了阻塞器 。

$('someElement').on('click', function(){ $('elementToToggle').is(':visible')