javascript - 顯示與隱藏動畫有什么好的方案嗎?
問題描述
例子
就像這個動畫一樣的效果,p先是隱藏的,點擊按鈕后顯示并且有動畫效果,隱藏的時候同樣。但我絕對我寫的太復雜,有沒有更簡單的方案呢(不要第三方庫)!
問題解答
回答1:試試用transition:demo
回答2:比較簡單的思路是:
方塊無需隱藏,只需要設置高度為0就看不見了
用transition實現動畫效果
不需要使用hidden和show兩個類名來控制,其實它就只有兩種狀態,所以可以認為無show就是隱藏了
另外無需寫一個show()和hide()分開綁定,其實你這個按鈕點一下是展開,再點一下隱藏,用一個toggle()切換顯示狀態就可以了
我在你的代碼上做了點修改,如下:https://jsfiddle.net/boxsnake...
回答3:<!DOCTYPE html><html> <head><meta charset='UTF-8'><title></title> </head> <style type='text/css'>.box{ background: red; height: 200px; width: 200px; transition: height 0.8s;} </style> <body><button onclick='changeHeight()'>click me</button><p style='height: 0;'></p> </body> <script src='https://cdn.bootcss.com/jquery/2.2.3/jquery.min.js' type='text/javascript' charset='utf-8'></script> <script type='text/javascript'>function changeHeight(){ var box=$(’.box’) if($(’.box’).height()!=0){$(’.box’).height(0) }else{$(’.box’).height(200) } } </script></html>回答4:
題主可以配合CSS3解決(如果不需要兼容IE的話)
回答5:可以用jquery實現嗎?
//頭部引入jquery,toggle()<body> <p>bugbugbug</p> <button>Toggle</button> <script type='text/javascript'> $(document).ready(function() {$('button').click(function() { $('p').toggle(1000);}); }); </script></body>
相關文章:
1. python - 有什么好的可以收集貨幣基金的資源?2. java - 為什么第一個線程已經釋放了鎖,第二個線程卻不行?3. javascript - 關于<a>元素與<input>元素的JS事件運行問題4. css3 - 我想要背景長度變化,而文字不移動,要怎么修改呢5. MySQL中的enum類型有什么優點?6. css3 - 純css實現點擊特效7. python - 啟動Eric6時報錯:’qscintilla_zh_CN’ could not be loaded8. mysql - 記得以前在哪里看過一個估算時間的網站9. android下css3動畫非常卡,GPU也不差啊10. 大家好,我想請問一下怎么做搜索欄能夠搜索到自己網站的內容。
