本文實例講述了JS實現的簡單折疊展開動畫效果。分享給大家供大家參考,具體如下:
<!DOCTYPE = html><html> <head> <title>m.survivalescaperooms.com 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> <div class="red" id="cf1"><div class="blue" id="cf">分享</div></div> <script> window.onload = function(){ var onDiv = document.getElementById("cf1"); onDiv.onmouseover = function(){ startmove(0); } onDiv.onmouseout = function(){ startmove(-200); } } var timer ; function startmove(target){ clearInterval(timer);//清除定時器,以免多次觸發定時器導致速度越來越快而不是勻速前進 var onDiv1 = document.getElementById("cf1"); timer = setInterval(function(){ var speed = 0; if(onDiv1.offsetLeft<target){ speed = 10; }else{ speed = -10; } if(onDiv1.offsetLeft==target){ clearInterval(timer); } else{ onDiv1.style.left = onDiv1.offsetLeft+speed+'px'; } },30) } </script> </body></html>運行效果:

小結:
一、css部分:
1、別忘記樣式初始化;
2、復習css文件的引用方式;(類引用方式)
3、復習絕對定位和相對定位關系(父關系用relative;子關系用absolute)
二、js部分:
1、element.style.left & element.offsetLeft區別:
① 前者單位是px,是字符串;后者單位是數值;
② 其他參見://m.survivalescaperooms.com/article/43981.htm
2、思路開始不夠清晰,未能抽象出鼠標放上和移開關鍵變量――目標位置不同而已
3、函數參數盡可能少(在能達成目標的情況下)
4、鼠標作用對象設置為父級div最好,不然會出現閃爍情況(剛調用onmouseover,目標移除,又調用了onmouseout)
5、注意清除定時器(①、防止移動時速度不穩定 ②、到目標位置停止運動)
三、其他:
Q:谷歌瀏覽器解除禁止彈出窗口?
A:設置――高級設置――隱私設置――內容設置――彈出式窗口,進行相關設置。
更多關于JavaScript相關內容感興趣的讀者可查看本站專題:《JavaScript頁面元素操作技巧總結》、《JavaScript運動效果與技巧匯總》、《JavaScript動畫特效與技巧匯總》、《JavaScript圖形繪制技巧總結》、《JavaScript切換特效與技巧總結》、《JavaScript錯誤與調試技巧總結》、《JavaScript數據結構與算法技巧總結》及《JavaScript數學運算用法總結》
希望本文所述對大家JavaScript程序設計有所幫助。
新聞熱點
疑難解答