這次帶給大家怎麼操作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>
運行效果:
#小結:
1、別忘記樣式初始化;2、複習css檔案的引用方式;(類別引用方式)
3、複習絕對定位和相對定位關係(父關係用relative;子關係用absolute
)
##二、js部分:
element.style.left & element.offsetLeft
區別:① 前者單位是px,是字串;後者單位是數值; ② 其他參見:http://www.jb51.net/article/43981.htm2、思路開始不夠清晰,未能抽像出滑鼠放上和移開關鍵變數-目標位置不同而已
3、
函數參數盡可能少(在能達成目標的情況下)4、滑鼠作用物件設定為父級p最好,不然會出現閃爍狀況(剛呼叫
onmouseover,目標移除,又呼叫了
onmouseout)
#5、注意清除定時器(①、防止移動時速度不穩定② 、到目標位置停止移動)
三、其他:A:設定-進階設定-隱私設定-內容設定-彈出式窗口,進行相關設定。相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!
推薦閱讀:
以上是怎麼操作JS實作簡單折疊展開動畫的詳細內容。更多資訊請關注PHP中文網其他相關文章!