[英]Expanding content with jQuery (accordion technique)… quick question
這可能是一個愚蠢的問題,但是我剛開始在jQuery中做一些漂亮的事情,突然間我想知道如何解決一個在沒有框架幫助的情況下我從來沒有打擾過的問題。
假設我們有兩個div
元素:
<body>
<div id="lorem1" style="display:block; height:400px;">
Lorem ipsum...
</div>
<div id="lorem2" style="display:hidden;">
dolor sit amet...
</div>
</body>
現在,如果我們想使用手風琴效果來縮小第一個div
的存在而將第二個div
擴大為存在,那么我假設我們將具有以下簡單邏輯:
#lorem1
的高度,直到達到0 #lorem1
設置為display:none;
#lorem2
設置為display:block; height:0;
display:block; height:0;
#lorem2
的高度 然后是問題...增加lorem2的高度...直到什么時候? 我們如何知道元素的最終高度? 顯然,我們不能選擇“直到它增加到400px”之類的靜態值,因為lorem2
的內容可能超過400像素高。 或者,如果小於400像素,則頁面上的任何背景色/圖像或其他元素可能看起來都不正確。
那么,如何確定何時停止手風琴呢?
使用jQuery,您可以使用方便的toggle
屬性:
$('#lorem').animate({
height: 'toggle'
});
我確信其他js庫也提供了類似的可能性。
編輯 :另一種方法是將對象設置動畫,直到高度為auto
。 或者不要通過CSS隱藏它,通過JS獲取對象的尺寸,然后再使用JS隱藏它。 現在您知道了尺寸,可以再次顯示它。
我認為.slideDown()和.slideUp()將為您做到這一點: http ://api.jquery.com/slideDown/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.