2013-10-15 84 views
0

我想創建一個可以通過單擊按鈕擴展高度的框。 該框僅顯示文本的3行作爲默認值。 (可以說..高度是50像素和溢出隱藏)jquery切換自動高度

當我點擊「更多」按鈕,動畫框的文本滑動。再次單擊以向上滑動。

另外我想滑動到「自動」高度! (Slippedown取決於內容高度) 我嘗試了很多jQuery樣本,但失敗了。有人幫助我嗎?

這裏是我的代碼...

<div class="cmCnt"> 
AAA<br> 
AAA<br> 
AAA<br> 
AAA<br> 
AAA<br> 
AAA<br> 
AAA<br> 
AAA<br> 
AAA<br> 
</div> 


<a href="#" class="btnMore">more</a> 


.cmCnt { height:50px; overflow:hidden; } 
+0

請張貼代碼*您已經試過*到目前爲止,這樣我們就可以看到你的邏輯,並幫助你瞭解它,而不是僅僅代碼給你。 – ahren

回答

0

啊,這是我遇到了幾年的問題回來......我的解決辦法是開始沒有特殊樣式(即auto高度,visible溢出),然後使用javascript存儲元素的全部高度。接下來,將高度更改爲50px,並在頁面加載後(不進行轉換)溢出爲隱藏。現在,你知道什麼是全高,你可以隨意動畫。

事情是這樣的:

$(document).ready(function() { 
    $('.cmCnt').each(function() { 
     var $this = $(this); 
     $this.data('originalHeight', $(this).height(); 
     $this.css({'height': '50px', 'overflow': 'hidden'}); 
     $this.click(function() { 
      var newHeight = $this.data('originalHeight'); 
      // animate $this to newHeight however you like here 
     }); 
    )); 
));