如何使jQuery的移動可摺疊的內容與動畫使用CSS過渡出現?動畫jQuery的移動可縮放與css
.ui-collapsible {
-webkit-transition: all 1s;
-moz-transition: all 1s;
-ms-transition: all 1s;
-o-transition: all 1s;
transition: all 1s;
}
不工作。
如何使jQuery的移動可摺疊的內容與動畫使用CSS過渡出現?動畫jQuery的移動可縮放與css
.ui-collapsible {
-webkit-transition: all 1s;
-moz-transition: all 1s;
-ms-transition: all 1s;
-o-transition: all 1s;
transition: all 1s;
}
不工作。
jQuery Mobile的的可摺疊的元素顯示和隱藏。據我所知,當display
屬性發生變化時,所有主流瀏覽器都會禁用CSS轉換。
另一種方法是壓倒一切的jQuery Mobile的默認CSS總是使用display: block
爲可摺疊的內容DIV,然後在height
或opacity
財產過渡(取決於內容是否需要被「刪除」,從佈局)。
我創建了這個jsFiddle,用於演示使用opacity
屬性的轉換。它實際上只是一個使用下列CSS規則的事情:
.ui-collapsible-content {
-webkit-transition: all 1s;
-moz-transition: all 1s;
-ms-transition: all 1s;
-o-transition: all 1s;
transition: all 1s;
opacity: 1;
}
.ui-collapsible-content-collapsed {
display: block;
opacity: 0
}
過渡使用height
屬性是作爲內容div有沒有設定高度有點麻煩。這fiddle做的伎倆(也見下面的CSS),但它需要設置內容div的高度。您可以將高度更改爲auto
,但在我看來,滑下效果看起來不太正確。也許別人知道更好的方法。
.ui-collapsible-content {
-webkit-transition: all 1s;
-moz-transition: all 1s;
-ms-transition: all 1s;
-o-transition: all 1s;
transition: all 1s;
height: 2em; /* or auto */
overflow: hidden;
}
.ui-collapsible-content-collapsed {
display: block;
height: 0;
padding: 0 16px;
}
我認爲你必須創建自定義基於CSS的過渡: - 通過在可摺疊內容的DIV切換display: none
.ui-collapsible-content {
-webkit-transition: all 1s;
-moz-transition: all 1s;
-ms-transition: all 1s;
-o-transition: all 1s;
transition: all 1s;
opacity: 1;
}
.ui-collapsible-content-collapsed {
display: block;
opacity: 0
}
如何使內容向下滑動並向上滑動而不是淡入和淡出? – Jonas 2012-07-14 15:41:19
如何使內容滑下並向上滑動,而不是淡入和淡出? – Jonas 2012-07-14 15:13:36
我添加了第二個高度過渡的例子,但它需要一個預定義的高度,例如, 2em的。它也將以「自動」的高度工作,但我認爲滑下效果看起來不太正確。 – rexmac 2012-07-14 16:53:22