国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JS實現勻加速與勻減速運動的方法示例

2019-11-19 15:34:04
字體:
來源:轉載
供稿:網友

本文實例講述了JS實現勻加速與勻減速運動的方法。分享給大家供大家參考,具體如下:

/* * 動畫幀函數 * * */  var requestFrame=function(){  var prefixList=['webkit','moz','ms'];  var func;  for(var i=0;i<prefixList.length;i++){    func=window[prefixList[i]+"RequestAnimationFrame"];    if(func){      return function(callback){        func(callback);      }    }  }  return function(callback){    setTimeout(callback,67);  }}();/* * 勻加速運動 * * */function animate_easeIn(element,from,to,duration,callback){  var time=+new Date;  var distance=to-from;  var a=2*distance/(duration*duration); //加速度a=2x/t^2(包含方向)    var func=function(){    var time2,offsetDis,durTime;    time2=+new Date;    durTime=time2-time; //運動的時間間隔    offsetDis=Math.ceil(a*durTime*durTime/2);//X=a*t^2/2        if(duration<durTime){      element.css('left',to+'px');      callback();    }else{      element.css('left',from+offsetDis+'px');      requestFrame(func);    }  }  func();}/* * 勻減速運動 * * */function animate_easeOut(element,from,to,duration,callback){  var time=+new Date;  var distance=Math.abs(to-from);  var a=2*distance/(duration*duration); //x=a*t^2/2 求出加速度  var v0=Math.sqrt(distance*2*a); // 根據公式:2as=v^2求出初速度    var func=function(){    var time2,offsetDis,durTime,pos;    time2=+new Date;    durTime=time2-time;    offsetDis=Math.ceil(v0*durTime-a*durTime*durTime/2); //根據s=v0*t+1/2*a*t^2求出位移x    if(duration<durTime){      element.css('left',to+'px');      callback();    }else{      pos=from>to? from-offsetDis : from+offsetDis;      element.css('left',pos+'px');      requestFrame(func);    }    }    func();}

更多關于JavaScript相關內容感興趣的讀者可查看本站專題:《JavaScript動畫特效與技巧匯總》、《JavaScript圖形繪制技巧總結》、《JavaScript切換特效與技巧總結》、《JavaScript錯誤與調試技巧總結》、《JavaScript數據結構與算法技巧總結》及《JavaScript數學運算用法總結

希望本文所述對大家JavaScript程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 瑞昌市| 宜州市| 丽江市| 桐柏县| 石泉县| 开封县| 皮山县| 蕉岭县| 长葛市| 青冈县| 汉阴县| 博乐市| 锦州市| 阿坝县| 北票市| 六枝特区| 剑川县| 彝良县| 德昌县| 高安市| 大理市| 桐梓县| 马鞍山市| 桂东县| 柘城县| 栾川县| 邯郸市| 金堂县| 陕西省| 永靖县| 富宁县| 蒲江县| 富平县| 抚州市| 乃东县| 屏山县| 安岳县| 女性| 营山县| 讷河市| 望奎县|