javascript緩衝運動程式碼例項
本章節分享一段程式碼例項,它實現了緩衝運動效果。
在編碼中,勻速運動是比較簡單的,但是在某些效果中並不夠人性化。
而緩衝運動比較平滑,使用者感受也就比較好,下面就是一段這方面的簡單程式碼例項。
程式碼如下:
[HTML] 純文字檢視 複製程式碼<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style> body, ul, li{ margin:0; padding 0; } #runs li{ width:80px; height:80px; background:#06c; list-style:none; margin:10px; border:1px solid #000; filter:alpha(opacity=30); opacity:0.3; } </style> <script> window.onload = function(){ var runs = document.getElementById("runs"); var runs_li = runs.getElementsByTagName("li"); runs_li[0].onmouseover = function(){ startrun(this,"width",300); } runs_li[0].onmouseout = function(){ startrun(this,"width",80); } runs_li[1].onmouseover = function(){ startrun(this,"height",300); } runs_li[1].onmouseout = function(){ startrun(this,"height",80); } runs_li[2].onmouseover = function(){ startrun(this,"fontSize",50); } runs_li[2].onmouseout = function(){ startrun(this,"fontSize",14); } runs_li[3].onmouseover = function(){ startrun(this,"opacity",100); } runs_li[3].onmouseout = function(){ startrun(this,"opacity",30); } } function startrun(obj,attr,target){ clearInterval(obj.timer); obj.timer = setInterval(function(){ var cur = 0; if(attr == "opacity"){ cur = Math.round(parseFloat(getstyle(obj,attr))*100); } else{ cur = parseInt(getstyle(obj,attr)); } var speed = (target - cur)/8; speed = speed>0?Math.ceil(speed):Math.floor(speed); if(cur == target){ clearInterval(obj.timer); } else{ if(attr == "opacity"){ obj.style.filter='alpha(opacity='+(cur+speed)+')'; obj.style.opacity=(cur+speed)/100; } else{ obj.style[attr] = cur+speed+"px"; } } },30); } function getstyle(obj,name){ if(obj.currentStyle){ return obj.currentStyle[name]; } else{ return getComputedStyle(obj,false)[name]; } } </script> </head> <body> <ul id="runs"> <li style="top:0">1</li> <li style="top:90px;">2</li> <li style="top:180px;">3</li> <li style="top:270px;">4</li> </ul> </body> </html>
相關文章
- javascript div元素彈性緩衝運動程式碼例項JavaScript
- javascript實現的多元素緩衝運動程式碼例項JavaScript
- javascript緩衝運動框架程式碼分析JavaScript框架
- JavaScript 緩衝運動JavaScript
- JavaScript運動框架程式碼例項JavaScript框架
- javascript元素水平運動程式碼例項JavaScript
- javascript div水平運動程式碼例項JavaScript
- JavaScript水平緩衝運動詳解JavaScript
- js圖片緩衝載入程式碼例項JS
- javascript元素勻速運動程式碼例項JavaScript
- JavaScript in運算子程式碼例項JavaScript
- MFC雙緩衝繪圖例項繪圖
- JavaScript浮動廣告程式碼例項JavaScript
- javascript動態建立元素程式碼例項JavaScript
- 動態載入javascript指令碼程式碼例項JavaScript指令碼
- javascript動態操作table表格程式碼例項JavaScript
- javascript文字水平滾動程式碼例項JavaScript
- javascript的for in例項程式碼JavaScript
- js實現的元素運動程式碼例項JS
- js圓形環繞運動程式碼例項JS
- CSS3星系運動效果程式碼例項CSSS3
- Qt5雙緩衝機制與例項QT
- javascript求餘和除法運算簡單例項程式碼JavaScript單例
- 動態引入外部javascript檔案程式碼例項JavaScript
- javascript數字自動加1程式碼例項JavaScript
- javascript操作xml程式碼例項JavaScriptXML
- JavaScript confirm() 程式碼例項JavaScript
- javascript Function()使用程式碼例項JavaScriptFunction
- JavaScript dom操作程式碼例項JavaScript
- javascript委託程式碼例項JavaScript
- javascript階乘程式碼例項JavaScript
- JavaScript隨滑鼠晃動的div塊程式碼例項JavaScript
- javascript動態修改單元格內容程式碼例項JavaScript
- javascript動態載入css檔案程式碼例項JavaScriptCSS
- javascript動態設定字型的大小程式碼例項JavaScript
- javascript動態建立並執行css程式碼例項JavaScriptCSS
- JavaScript 阻止事件冒泡程式碼例項JavaScript事件
- JavaScript取餘數程式碼例項JavaScript