這次帶給大家JS做出折疊展開動畫(附程式碼),JS做出折疊展開動畫(附程式碼)的注意事項有哪些,以下就是實戰案例,一起來看一下。
<!DOCTYPE = html> <html> <head> <title> JS折叠展开动画</title> <style> body{ margin: 0px; padding: 0px; } .red{ background-color:red; width:200px; height:200px; position:relative; left:-200px; top:0px; } .blue{ background:blue; width:20px; height:50px; position:absolute; left:200px; top:75px; } </style> </head> <body> <p class="red" id="cf1"><p class="blue" id="cf">分享</p></p> <script> window.onload = function(){ var onp = document.getElementById("cf1"); onp.onmouseover = function(){ startmove(0); } onp.onmouseout = function(){ startmove(-200); } } var timer ; function startmove(target){ clearInterval(timer);//清除定时器,以免多次触发定时器导致速度越来越快而不是匀速前进 var onp1 = document.getElementById("cf1"); timer = setInterval(function(){ var speed = 0; if(onp1.offsetLeft<target){ speed = 10; }else{ speed = -10; } if(onp1.offsetLeft==target){ clearInterval(timer); } else{ onp1.style.left = onp1.offsetLeft+speed+'px'; } },30) } </script> </body> </html>
小結:
一、css部分:
1、別忘記樣式初始化;
2、複習css檔案的引用方式;(類別引用方式)
3、複習絕對定位與相對定位關係(父關係用relative;子關係用absolute)
二、js部分:
1、element.style. left & element.offsetLeft區別:
① 前者單位是px,是字串;後者單位是數值;
2、思路開始不夠清晰,未能抽象化滑鼠放上和移開關鍵變數-目標位置不同而已
3、函數參數盡可能少(在能達成目標的情況下)
4、滑鼠作用物件設定為父級p最好,不然會出現閃爍狀況(剛呼叫onmouseover,目標移除,又呼叫了onmouseout)
5、注意清除定時器(①、防止移動時速度不穩定②、到目標位置停止運動)
三、其他:
# #Q:Google瀏覽器解除禁止彈出視窗? A:設定-進階設定-隱私設定-內容設定-彈出式窗口,進行相關設定。 相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章! 推薦閱讀:以上是JS做出折疊展開動畫(附程式碼)的詳細內容。更多資訊請關注PHP中文網其他相關文章!