本文章向大家介紹一個javascript實現的動畫。點擊開始按鈕div會往右移動,點擊停止后,div停止移動,再點擊則繼續移動。請看下面代碼。
<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <head><title>javascript實現的簡單動畫</title><style type="text/css">#mydiv{ width:50px; height:50px; background-color:green; position:absolute;}</style><script type="text/javascript"> window.onload=function(){ var mydiv=document.getElementById("mydiv"); var start=document.getElementById("start"); var stopmove=document.getElementById("stopmove"); var x=0; var flag; function move() {  x=x+1;  mydiv.style.left=x+"px"; } start.onclick=function() {  clearInterval(flag);  flag=setInterval(move,20); } stopmove.onclick=function() {  clearInterval(flag); } }</script><body><input type="button" id="start" value="開始運動" /><input type="button" id="stopmove" value="停止運動" /><div id="mydiv"></div></body></html>代碼解釋:
1.window.onload=function(){},當文檔內容完全加載完畢再去執行函數中的代碼。
2.var mydiv=document.getElementById("mydiv"),獲取id屬性值為mydiv的元素。
3.var start=document.getElementById("start"),獲取id屬性hi為start的元素。
4.var stopmove=document.getElementById("stopmove"),獲取id屬性值為stopmove的元素。
5.mydiv.style.left=x+"px",設置div的left屬性值。
6.start.onclick=function(){},為start元素注冊onclick事件處理函數。
7.clearInterval(flag),停止定時器函數,一方多次單擊開始按鈕造成疊加效果。
8.flag=setInterval(move,20),開始運動。
以上這篇原生javascript實現的一個簡單動畫效果就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。
新聞熱點
疑難解答