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

首頁 > 語言 > JavaScript > 正文

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

2024-05-06 15:11:52
字體:
來源:轉載
供稿:網友

本文實例講述了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程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 吉林市| 通许县| 巫溪县| 韶山市| 抚宁县| 固阳县| 荆门市| 海兴县| 奉新县| 筠连县| 崇信县| 阿拉善右旗| 香格里拉县| 太原市| 平泉县| 通海县| 丹江口市| 延川县| 应城市| 仲巴县| 鄂州市| 东阿县| 陇南市| 黄浦区| 唐河县| 裕民县| 伊吾县| 山阳县| 紫金县| 遂平县| 遵化市| 久治县| 信宜市| 义马市| 新余市| 台东县| 周至县| 金堂县| 永顺县| 金堂县| 驻马店市|