2014-01-30 60 views
0

我使用jquery'fadeOut()'刪除div元素,問題是:當我刪除一個元素時,其下的其他元素上升而沒有過渡並且看起來太突然。不知道如何解決它。如果我把css轉換到類.publication jQuery的fadeOut()停止正常工作,並刪除元素突然。上部消失時如何在div動作上應用轉換?

我該怎麼做?

編輯:而對於英語不好對不起......

EDIT2:這裏是用的jsfiddle我的問題:

jsfiddle code 

http://jsfiddle.net/zberQ/

+0

請張貼您的代碼。 – j08691

+0

把一個短小提琴請:http://jsfiddle.net/ – giordanolima

+0

你想要的空間保持原樣!?或者只是避免你的混蛋? –

回答

0

嘿,你可以使用opacity:0;然後slideUp()其給出預期效果....

請看下面JSFiddle

0

您可以使用slideUp()

您也可以使用hide(500)但我個人更喜歡slideUp(500)的效果。

$('#yourelement').slideUp(500);

應該動畫的元素的所有其餘的爲好。

根據您的意見,您也可以使用.animate()創造你想要的任何自定義動畫:

.animate({'height':'0','opacity':'0'});//in your specific case - $(this).parent().parent().animate({'height':'0','opacity':'0'}); 

甚至使用delay()創建動畫的SQUENCE:

.animate({'opacity':'0.2'}).delay(50).animate({'height':'0','opacity':'0'}); 

的問題,你正在經歷的是fadeOut()行爲的結果。 ​​將不透明度設置爲0,然後當它到達0時,它設置display:none;,使所有元素跳起來,向下填充空白空間。 來自jQuery文檔:

.fadeOut()方法動畫匹配元素的不透明度。 一旦不透明度達到0,顯示樣式屬性設置爲無, ,因此該元素不再影響頁面的佈局。

slideUp()動畫高度第一,造成一個平滑的消失,比顯示:none ;.取自jQuery文檔:

.slideUp()方法爲匹配元素的高度生成動畫。 這會導致頁面的較低部分向上滑動,看起來隱藏了 這些項目。一旦高度達到0(或者,如果設置爲最小高度屬性的CSS ),則將顯示樣式屬性設置爲無以確保該元素不再影響頁面佈局,即 。

JSFiddle

希望這有助於!

+0

我現在試過了,但不知道把這行代碼放在哪裏。我正在使用JQuery,但我現在不知道任何關於Jquery的... – Lloople

+0

而不是fadeOut()put slideUp(500) – Yani

+0

http://jsfiddle.net/cMk8T/ – Yani

相關問題