2010-07-19 80 views
28

這就是我最終想實現:JQuery的檢查股利所示

//When the user clicks the liveshow button this happens 
    $(".liveshow-button").live('click', function() { 
     if ($(".liveshowDiv2").css('display') == 'none') { 
      $(".liveshowDiv2").fadeOut(ifadeOutSpeed, function() { 
       $('#wrapper-div').animate({ height: $('.liveshowDiv1').height() + "px" }, iresizeSpeed, function() { 
        $('.liveshowDiv1').fadeIn(ifadeInSpeed, function() { 
        }); 
       }); 
      }); 
     } 
     else { 
      alert('This never gets displayed'); 
      $(".liveshowDiv1").slideUp('fast'); 
     } 
    }); 

基本上我想顯示和隱藏liveShowDiv1當你點擊這個按鈕之間進行切換。但是因爲頁面上的其他內容可以隱藏liveShowDiv1,所以我不能僅僅使用切換功能來執行此操作。我必須檢查是否正在顯示liveShowDiv1。

當它不顯示:顯示這個div時顯示爲無

當說明顯示是不是在風格標籤在所有

我怎樣才能知道在JQuery的?

+5

http://stackoverflow.com/questions/178325/how-do-you-test-if-something-is-hidden-in -jquery – Adam 2010-07-19 16:19:32

回答

81

if ($(this).is(':visible'))應該爲這個相對簡單的顯示/隱藏工作。

+1

我發誓我知道在某個時間點。驚訝我coudldn't在谷歌上弄明白。 – Jason 2010-07-21 17:03:37

14

有時需要檢查div是否爲block。我們可以很輕鬆地做到這一點。這是簡單的代碼。這裏id = "test" - >用於測試目的,如果你使用class = "test"則需要更新代碼 對於檢查中的塊或可見然後使用此爲您的選擇testid

1. if ($('#test').is(':visible')) {} 

2. if ($('#test').css('display') == 'block'){} 

3. if ($('#test').not(':hidden')){} 

,如果你的選擇是class然後

1. if ($('.test').is(':visible')) {} 

1. if ($(your_element).is(':visible')) {} 

相同其它

對於檢查沒有或隱藏這時如果使用此代碼的selectorid

1. if ($('#test').not(':visible')){} 

2. if (!$('#test').is(':visible')){} 

3. if ($('#test').css('display') == 'none'){} 

4. if ($('#test').is(':hidden')){} 

如果你選擇的類,然後用這個

1. if ($('.test').not(':visible')){} 

1. if ($(your_element).not(':visible')){} 

希望將幫助你

3

您可以試試這個:

$(your_element).is(":visible") 

示例;

if ($('#element_id').is(":visible")) { 
    // do something 
} 
0

您可以使用$(element).is(":visible")來檢查元素可見