JavaScript簡單的動畫效果
本章節分享一段程式碼例項,它通過定時器函式實現了簡單的動畫效果。
當然是用此方式實現的動畫不夠流程,比如會出現類似於抖動的現象,不過也可以從其中獲取一些相關的應用知識。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> #antzone{ width:200px; height:200px; background:red; position:absolute; left:0; top:60px; } </style> <script type="text/javascript"> window.onload=function(){ var oDiv=document.getElementById("antzone"); var oBt=document.getElementsByTagName('input')[0]; var time=null; oBt.onclick=function(){ clearInterval(time); time=setInterval(function(){ var speed=7; if(oDiv.offsetLeft<=600){ oDiv.style.left=oDiv.offsetLeft+speed+'px'; } else{ clearInterval(time); } },40); } } </script> </head> <body> <input type="button" value="開始運動" /> <div id="antzone"></div> </body> </html>
上面的程式碼實現了我們的要求,下面介紹一下它的實現過程。
一.程式碼註釋:
(1).window.onload=function(){},當文件內容完全載入完畢再去執行函式中的程式碼。
(2).var oDiv=document.getElementById("antzone"),獲取id屬性值為antzone的元素物件。
(3).var oBt=document.getElementsByTagName('input')[0],獲取input元素集合中的第一個元素,也就是按鈕物件。
(4).var time=null,宣告一個變數並賦值為null,用來儲存定時器函式的標識。
(5).oBt.onclick=function(){},按鈕註冊click事件處理函式。
(6).clearInterval(time),停止定時器函式的執行,這裡是為了防止連續的點選導致兩次定時器函式執行重合現象。
(7).time=setInterval(function(){
var speed=7;
if(oDiv.offsetLeft<=600){
oDiv.style.left=oDiv.offsetLeft+speed+'px';
}
else{
clearInterval(time);
}
},40),每隔40毫秒執行一次相應的函式,也就是實現的運動效果。
二.相關閱讀:
(1).getElementsByTagName()方法參閱document.getElementsByTagName()一章節。
(2).setInterval()方法參閱setInterval()一章節。
(3).offsetLeft屬性參閱js offsetLeft一章節。
相關文章
- JavaScript 簡單動畫效果JavaScript動畫
- 分享一個簡單的畫刷動畫效果:?️BrushEffect動畫
- 前端動畫效果實現的簡單比較前端動畫
- JavaScript 動畫效果緩慢二級下拉選單JavaScript動畫
- canvas簡單畫板效果Canvas
- canvas簡單的畫布動畫 - KaiqisanCanvas動畫AI
- JavaScript教程全套影片合集:DOM動畫效果JavaScript動畫
- 簡單的動畫 (numpy & PySimpleGUI)動畫GUI
- CSS3動畫效果下拉導航選單效果CSSS3動畫
- 讓動畫實現更簡單,Flutter 動畫簡易教程!動畫Flutter
- Flutter Animation(1)動畫的簡單使用Flutter動畫
- jQuery 效果 – 動畫jQuery動畫
- Android:簡單靠譜的動態高斯模糊效果Android
- jQuery 動畫效果 與 動畫佇列jQuery動畫佇列
- JS動畫效果——多物體動畫JS動畫
- 使用canvas實現簡單動畫Canvas動畫
- jQuery 效果 – 停止動畫jQuery動畫
- canvas簡單動畫案例(圓圈閃爍漸變動畫)Canvas動畫
- 封裝一個簡單的動畫函式封裝動畫函式
- JavaScript元素抖動效果JavaScript
- 前端基礎-jQuery的動畫效果前端jQuery動畫
- Flutter “孔雀開屏”的動畫效果Flutter動畫
- jQuery簡單tab效果jQuery
- JavaScript簡易留言板效果JavaScript
- 萬彩動畫大師教程 | 新增動畫效果動畫
- Javascript動畫(一)JavaScript動畫
- vue-lottie動畫效果Vue動畫
- SVG 漸變動畫效果SVG動畫
- 卡片旋轉動畫效果動畫
- Java 給PPT新增動畫效果(預設動畫/自定義動畫)Java動畫
- 一個簡單的構建React元件動畫方案React元件動畫
- Flutter抖動動畫、顫抖動畫、Flutter文字抖動效果Flutter動畫
- Flex的動畫效果與變換!(二)Flex動畫
- 萬彩動畫大師教程 | 如何實現物件的閃動的動畫效果動畫物件
- JavaScript 視窗抖動效果JavaScript
- 萬彩動畫大師教程 | 如何給物件新增浮動的動畫效果動畫物件
- 萬彩動畫大師教程 | 如何給字型新增抖動的動畫效果動畫
- 頁面旋轉動畫效果動畫