我想了jQuery的slideToggle效果,但想以此來調用GPU的iOS設備上,因此過渡平滑,使用CSS3過渡。如何使用CSS 3轉換獲得與jQuery的slideToggle相同的效果?
回答
您可以通過轉換height
,padding
和border-width
來實現此目的。這裏有一個例子:
$('.run-css').click(function() {
$('.cont').toggleClass('toggled');
});
.cont {
width: 100px;
height: 100px;
border: 1px #CCC solid;
background-color: #EEE;
padding: 5px;
-webkit-transition: height .3s linear, padding-top .3s linear, padding-bottom .3s linear, border-top-width .3s linear, border-top-width .3s linear;
transition: height .3s linear, padding-top .3s linear, padding-bottom .3s linear, border-top-width .3s linear, border-top-width .3s linear;
}
.toggled {
overflow: hidden;
padding-top: 0;
padding-bottom: 0;
height: 0;
border-width: 0 1px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.2.3/jquery.min.js"></script>
<button class="run-css">CSS slideToggle</button>
<div class="cont">Toggle this div</div>
我相信Animatable應該做的伎倆。這是一個CSS Transitions框架,雖然我沒有開發iOS,但Lea Verou提到她在iOS和FF上測試它。
還有其他CSS動畫的庫,例如使用CSS轉換和JavaScript。
感謝您的回覆。 – sevens 2012-01-14 18:26:20
很抱歉,但除非你知道確切的高度,這是不CSS3支持。在0和auto之間無法進行動畫製作。如果確實知道確切的高度,可以在此處生成一些轉換代碼:http://css3generator.com/
這就是我不斷尋找不提解決方案的東西'height' – Muhammed 2015-11-25 09:59:12
確實,您無法在0和自動高度之間進行動畫製作,但實際上可以切換最大高度。
切換(通過JS)最大高度之間:0和最大高度:1000像素,你會得到實現的結果,但它不能像jQuery的的slideToggle功能一樣光滑。
與不透明褪色夫婦它,它看起來相當不錯。儘管如此,我強烈建議只在相對較短的容器上使用這種技術,因爲大的可以創建一個生澀的動畫。
有趣。我玩這個,它不是容器的大小,這使得它生澀......這是'最大高度'和實際內容高度之間的差異。因此,如果您想防止一個生澀的體驗(如果您知道內容高度,則可以轉換爲「高度」),您可能還需要知道內容高度。 – bryanbraun 2015-06-17 22:00:31
.container {
overflow-y: hidden;
max-height: 0;
transition: max-height 0.5s ease;
}
.container.open {
max-height: 1000px; /* approx */
}
- 1. jQuery html css slidetoggle效果
- 2. slideToggle效果jQuery
- 3. 如何在Perl中獲得與python的raw_input()相同的效果?
- 4. 如何將顯示切換效果轉換爲CSS 3轉換效果
- 5. 如何獲得與CSS發光效果
- 6. 如何在jQuery中獲得相同的效果?
- 7. 如何使用jQuery和CSS獲得老虎機效果
- 8. jquery slideToggle奇怪的效果
- 9. 如何使用wmi獲得與bcdedit/enum ALL相同的結果?
- 10. 如何使用相同的JQuery效果爲不同的div與同一類
- 11. 如何使用jQuery的slideToggle()和CSS實現顏色過渡效果?
- 12. 同時jQuery slideToggle +彈跳效果?
- 13. CSS如何獲得相同的高度?
- 14. 如何實現與jQuery的slideIn(MooTools)相同的效果?
- 15. 如何在photoshop中獲得相同的字體效果
- 16. Jquery的效果的slideToggle不流暢
- 17. 如何使用jQuery切換CSS轉換?
- 18. 如何獲得與CSS媒體查詢相同的寬度
- 19. 如何使用jquery使div的轉換速度相同?
- 20. 如何實現與使用glAlphaFunc(GL_GREATER,0.99f)相同的效果?
- 21. 如何獲得旋轉圖標效果?
- 22. 使用CSS獲得3
- 23. 如何使用strncat,strcat等函數獲得相同的結果?
- 24. SQL:獲得不同的結果,使用日期轉換功能
- 25. 使用Mysql獲得不同的結果UNIX_TIMESTAMP()轉換爲JAVASCRIPT Date.UTC()
- 26. 如何在CSS中轉換jQuery淡入淡出效果?
- 27. 我如何獲得與CoreNlp.run相同的結果?
- 28. 如何在c.test()中獲得與c.test()相同的結果?
- 29. 如何獲得相同的結果與谷歌Gson和JSON.stringfy
- 30. 如何使用JavaScript獲得bookflip效果
我沒有做iOS開發,所以我無法測試它,但是move.js或animatable呢?而不是切換,只需要一個if/else語句,該元素位於哪個位置。 – 2012-01-14 07:01:16