2010-07-21 150 views
9

我有一個div#項目,如果它被點擊,那麼div#選擇slideDown()。如果它再次被點擊,那麼div#選項應該是slideUp();我如何測試選擇已經停止還是已經停止?我知道我可以存儲一個變量,並在每次點擊div#項目時切換它的值,但如果#choices已被其他方式滑下,該怎麼辦?jquery toggle slideUp/slideDown

回答

15

使用.slideToggle()

+0

將無法​​工作。 – 2010-07-21 15:12:44

+2

+1。 @Kaaviar:實際上,這應該工作得很好,因爲'slideToggle()'將檢查元素當前是隱藏還是顯示。 – 2010-07-21 15:16:57

+0

如何通過slideToggle向上滑動或向下滑動? – Smash 2013-04-19 19:37:28

6

由於Marimuthu's answer指出,你可以使用slideToggle()向上滑動,如果股利已經打開,或向下,如果它關閉。

您還可以檢查display屬性以確定它當前是否可見。從jQuery的文檔slideUp()

一旦高度達到0,顯示樣式屬性設置爲none,以確保該元素不再影響頁面的佈局。

知道了這一點,你可以檢查,看它是否被設置爲 「無」:

var $choices = $('div#choices'); 
if ($choices.css("display") == "none") 
    $choices.slideDown(); 
else 
    $choices.slideUp(); 
0

試試這個 -


HTML:

<a href="#demo" class="nav-toggle">Show</a> 
<div id="demo" style="display:none;"> 
<p>short info</p> 
</div> 


jQuery腳本:因爲他說的幻燈片可以被其他元素進行

$('.nav-toggle').click(function(){ 
    var content_id = $(this).attr('href');    
    var toggle_switch = $(this); 
    $(content_id).toggle(function(){ 
    if($(this).css('display')=='none'){ 
      toggle_switch.html('Show'); 
    }else{ 
     toggle_switch.html('Hide'); 
     } 
    }); 
});