js實現的元素運動程式碼例項
本章節分享一個能夠實現元素直線運動的程式碼例項,程式碼非常的簡單,僅供參考之用,希望能夠對初學者帶來一定的參考。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> *{ margin:0px; padding:0px; } #run{ border:5px red solid ; display:inline-block; width:40px; height:20px; font-size:20px; text-align:center; } </style> <script type="text/javascript"> var timer=null; var maR=0; var flag=0; function moveright(){ run.style.marginLeft=maR+"px"; maR=maR+1; } function moveleft(){ run.style.marginLeft=maR+"px"; maR=maR-1; } function go(){ start.disabled=true; pause.disabled=false; run.innerHTML=parseInt(run.innerHTML)+1; timer=setTimeout(go,10); if(flag==1){ setTimeout(moveleft,10); } if(flag==0){ setTimeout(moveright,10); } if(maR>(window.outerWidth-60)){ flag=1; } if(maR<0){ flag=0; } } function stop(){ start.disabled=false; pause.disabled=true; clearTimeout(timer); } window.onload=function(){ var start=document.getElementById("start"); var pause=document.getElementById("pause"); start.onclick=function(){ go(); } pause.onclick=function(){ stop() } } </script> </head> <body> <button id="start">開始運動</button> <button id="pause" disabled>暫停運動</button> <br/> <span id="run">0</span> </body> </html>
以上程式碼實現了簡單的執行效果,下面對實現原理做一下簡單介紹。
一.實現原理:
原理其實非常的簡單,當點按鈕的時候,就會執行註冊的事件處理函式,此函式可以利用定時器函式遞迴執行並動態設定元素的外邊距,這樣就實現了運動效果,至於運動具有折返的功能,就是通過判斷外邊距和是否小於0和大於介面的寬度。
二.相關閱讀:
1.動態設定外邊距可以參閱javascript style一章節。
2.parseInt()函式可以參閱javascript parseInt()一章節。
3.setTimeout()函式可以參閱setTimeout()方法一章節。
4.outerWidth屬性可以參閱outerwidth一章節。
5.clearTimeout()函式可以參閱clearTimeout()方法一章節。
相關文章
- JavaScript運動框架程式碼例項JavaScript框架
- jQuery利用name匹配元素程式碼例項jQuery
- JavaScript in運算子程式碼例項JavaScript
- CSS3星系運動效果程式碼例項CSSS3
- react專案中實現元素的拖動和縮放例項React
- JavaScript刪除元素節點程式碼例項JavaScript
- html5 canvas 實現光線沿不規則路徑運動例項程式碼HTMLCanvas
- html實現簡單ListViews效果的例項程式碼HTMLView
- jQuery遍歷array陣列元素程式碼例項jQuery陣列
- JS 預編譯程式碼例項分析JS編譯
- vuejs實現新增tag標籤程式碼例項VueJS
- 例項程式碼分享Python實現Linux監控PythonLinux
- jquery.idTabs.min.js選項卡程式碼例項jQueryJS
- 獲取倒數第幾個元素程式碼例項
- CSS匹配第一個li元素程式碼例項CSS
- 使用原生js實現選項卡功能例項教程JS
- MyCat分片:水平拆分例項解析和程式碼實現!
- 正則實現個位數補零程式碼例項
- 美化滾動條效果程式碼例項
- python 單一程式例項 實現Python
- JavaScript模擬拋物運動的程式碼實現JavaScript
- Python物件導向多型實現原理及程式碼例項Python物件多型
- JavaScript隨滑鼠晃動的div塊程式碼例項JavaScript
- css3晃動效果程式碼例項CSSS3
- SVG拖動繪製矩形程式碼例項SVG
- Python實現簡單網頁圖片抓取完整程式碼例項Python網頁
- 運動員與教練例項
- dom操作程式碼例項
- css梯形程式碼例項CSS
- led驅動程式例項
- 90行程式碼,15個元素實現無限滾動行程
- 127 PHP獲取網頁標題的3種實現方法程式碼例項PHP網頁
- js 實現程式碼雨效果JS
- HTML 使用表單標籤實現註冊頁面的例項程式碼HTML
- 用js實現動態改變根元素字型大小的方法JS
- 設計模式例項程式碼設計模式
- table表格美化程式碼例項
- 前端基礎功能,原生js實現輪播圖例項教程前端JS
- 純css tab選項卡程式碼例項CSS