亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

javascript動畫算法實例分析

2019-11-20 11:57:01
字體:
來源:轉載
供稿:網友

本文實例講述了javascript動畫算法。分享給大家供大家參考。具體如下:

動畫算法

Linear:無緩動效果(勻速運動);
Quadratic:二次方的緩動;
Cubic:三次方的緩動
Quartic:四次方的緩動;
Quintic:五次方的緩動;
Sinusoidal:正弦曲線的緩動;
Exponential:指數曲線的緩動;
Circular:圓形曲線的緩動;
Elastic:指數衰減的正弦曲線緩動;
Back:超過范圍的三次方緩動);
Bounce:指數衰減的反彈緩動。

每個效果都分三個緩動方式(方法),分別是:

easeIn:從0開始加速的運動;
easeOut:減速到0的運動;
easeInOut:前半段從0開始加速,后半段減速到0的運動。

函數的四個參數分別代表:

t--- current time(當前時間);
b--- beginning value(初始值);
c--- change in value(變化量);
d---duration(持續時間)

運算的結果就是當前的運動路程。

Tween.js如下:

Tween = {  Linear: function(t,b,c,d){ return c*t/d + b; }, Quad: {  easeIn: function(t,b,c,d){   return c*(t/=d)*t + b;  },  easeOut: function(t,b,c,d){   return -c *(t/=d)*(t-2) + b;  },  easeInOut: function(t,b,c,d){   if ((t/=d/2) < 1) return c/2*t*t + b;   return -c/2 * ((--t)*(t-2) - 1) + b;  } }, Cubic: {  easeIn: function(t,b,c,d){   return c*(t/=d)*t*t + b;  },  easeOut: function(t,b,c,d){   return c*((t=t/d-1)*t*t + 1) + b;  },  easeInOut: function(t,b,c,d){   if ((t/=d/2) < 1) return c/2*t*t*t + b;   return c/2*((t-=2)*t*t + 2) + b;  } }, Quart: {  easeIn: function(t,b,c,d){   return c*(t/=d)*t*t*t + b;  },  easeOut: function(t,b,c,d){   return -c * ((t=t/d-1)*t*t*t - 1) + b;  },  easeInOut: function(t,b,c,d){   if ((t/=d/2) < 1) return c/2*t*t*t*t + b;   return -c/2 * ((t-=2)*t*t*t - 2) + b;  } }, Quint: {  easeIn: function(t,b,c,d){   return c*(t/=d)*t*t*t*t + b;  },  easeOut: function(t,b,c,d){   return c*((t=t/d-1)*t*t*t*t + 1) + b;  },  easeInOut: function(t,b,c,d){   if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b;   return c/2*((t-=2)*t*t*t*t + 2) + b;  } }, Sine: {  easeIn: function(t,b,c,d){   return -c * Math.cos(t/d * (Math.PI/2)) + c + b;  },  easeOut: function(t,b,c,d){   return c * Math.sin(t/d * (Math.PI/2)) + b;  },  easeInOut: function(t,b,c,d){   return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b;  } }, Expo: {  easeIn: function(t,b,c,d){   return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b;  },  easeOut: function(t,b,c,d){   return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b;  },  easeInOut: function(t,b,c,d){   if (t==0) return b;   if (t==d) return b+c;   if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b;   return c/2 * (-Math.pow(2, -10 * --t) + 2) + b;  } }, Circ: {  easeIn: function(t,b,c,d){   return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b;  },  easeOut: function(t,b,c,d){   return c * Math.sqrt(1 - (t=t/d-1)*t) + b;  },  easeInOut: function(t,b,c,d){   if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b;   return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b;  } }, Elastic: {  easeIn: function(t,b,c,d,a,p){   if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;   if (!a || a < Math.abs(c)) { a=c; var s=p/4; }   else var s = p/(2*Math.PI) * Math.asin (c/a);   return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;  },  easeOut: function(t,b,c,d,a,p){   if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;   if (!a || a < Math.abs(c)) { a=c; var s=p/4; }   else var s = p/(2*Math.PI) * Math.asin (c/a);   return (a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b);  },  easeInOut: function(t,b,c,d,a,p){   if (t==0) return b; if ((t/=d/2)==2) return b+c; if (!p) p=d*(.3*1.5);   if (!a || a < Math.abs(c)) { a=c; var s=p/4; }   else var s = p/(2*Math.PI) * Math.asin (c/a);   if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;   return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b;  } }, Back: {  easeIn: function(t,b,c,d,s){   if (s == undefined) s = 1.70158;   return c*(t/=d)*t*((s+1)*t - s) + b;  },  easeOut: function(t,b,c,d,s){   if (s == undefined) s = 1.70158;   return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;  },  easeInOut: function(t,b,c,d,s){   if (s == undefined) s = 1.70158;    if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b;   return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;  } }, Bounce: {  easeIn: function(t,b,c,d){   return c - Tween.Bounce.easeOut(d-t, 0, c, d) + b;  },  easeOut: function(t,b,c,d){   if ((t/=d) < (1/2.75)) {    return c*(7.5625*t*t) + b;   } else if (t < (2/2.75)) {    return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;   } else if (t < (2.5/2.75)) {    return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;   } else {    return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;   }  },  easeInOut: function(t,b,c,d){   if (t < d/2) return Tween.Bounce.easeIn(t*2, 0, c, d) * .5 + b;   else return Tween.Bounce.easeOut(t*2-d, 0, c, d) * .5 + c*.5 + b;  } }}

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品久久久久国产a级| 日韩av网站大全| 国产精品27p| 亚洲精品国精品久久99热一| 26uuu国产精品视频| 国产精品欧美风情| 日韩精品免费在线观看| 日韩成人av一区| 精品国偷自产在线| 成人免费视频网址| 久久久综合av| 亚洲美女av在线播放| 色无极影院亚洲| 日韩精品亚洲视频| 亚洲第一福利网| 中文字幕九色91在线| 正在播放亚洲1区| 91色在线视频| 亚洲最大的成人网| 久久久av网站| 日韩免费看的电影电视剧大全| 欧美性猛xxx| 草民午夜欧美限制a级福利片| 91精品视频一区| 91精品在线国产| 欧美性猛交xxxx免费看漫画| 国产精品91久久久| 国产香蕉精品视频一区二区三区| 亚洲欧美国产日韩中文字幕| 国产精品久久久久久av| 成人黄色在线播放| 色综合久久天天综线观看| 成人网在线观看| 日韩精品电影网| 亚洲国产精品电影在线观看| 亚洲国产精品久久久久秋霞蜜臀| 日韩av网址在线观看| 色综合伊人色综合网站| 影音先锋欧美在线资源| 日韩av中文字幕在线免费观看| 久久久久久久电影一区| 91国产美女在线观看| 九九久久综合网站| 亚洲精品国偷自产在线99热| 欧美性猛交xxxx久久久| 韩国一区二区电影| 久久精品国产亚洲一区二区| 国产精品丝袜久久久久久高清| 懂色av中文一区二区三区天美| 欧美精品第一页在线播放| 亚洲一区二区三区成人在线视频精品| 国产激情久久久| 九九热视频这里只有精品| 91牛牛免费视频| 久久久亚洲影院| 国产精品99导航| 日韩一区在线视频| 久久综合久久美利坚合众国| 91青草视频久久| 亚洲人永久免费| 久久精品99久久香蕉国产色戒| 91香蕉嫩草神马影院在线观看| 欧亚精品中文字幕| 国产精品小说在线| 久久久噜噜噜久久| 欧美性xxxx极品hd满灌| 久久久久久久久综合| 亚洲成人a级网| 日本在线精品视频| 日韩精品亚洲精品| www.久久撸.com| 欧美性猛交xxxx黑人猛交| 色妞在线综合亚洲欧美| 精品亚洲男同gayvideo网站| 欧美俄罗斯乱妇| 亚洲无av在线中文字幕| 精品国产一区二区三区在线观看| 俺去亚洲欧洲欧美日韩| 日韩中文字幕免费视频| 疯狂做受xxxx欧美肥白少妇| 亚洲人成毛片在线播放| 国产精品va在线播放我和闺蜜| 欧美在线一级va免费观看| 欧美日韩中文字幕日韩欧美| 2019亚洲日韩新视频| 91禁外国网站| 国产精品久久婷婷六月丁香| 国产91精品久久久久久久| 亚洲精品av在线播放| 91美女福利视频高清| 91国产高清在线| 国产精品99久久久久久白浆小说| 日韩动漫免费观看电视剧高清| 国产日韩在线精品av| 欧美成人午夜免费视在线看片| 97精品一区二区三区| 久久国产精品免费视频| 国产精品三级美女白浆呻吟| 亚洲欧美在线一区| 91免费看视频.| 黑人巨大精品欧美一区二区三区| 国产精品pans私拍| 久久九九免费视频| 成人国产精品一区二区| 久久精品91久久久久久再现| 欧美国产第二页| 亚洲欧美日韩一区二区三区在线| 日本高清不卡的在线| 国产精品第一区| 国产玖玖精品视频| 欧美美女操人视频| 亚洲国产精品va在线看黑人动漫| 亚洲精品www久久久| 一区二区三区国产视频| 欧美日韩国产中文精品字幕自在自线| 成人午夜在线视频一区| 久久九九精品99国产精品| 久久综合国产精品台湾中文娱乐网| 国内精品小视频在线观看| 欧美日韩国产在线看| 欧美成人小视频| 日本欧美一级片| 亚洲成人久久一区| 久久久国产一区二区三区| 久久国产色av| 啪一啪鲁一鲁2019在线视频| 欧美影院成年免费版| 伊人亚洲福利一区二区三区| 成人激情在线播放| 亚洲国产精品人人爽夜夜爽| 7777kkkk成人观看| 亚洲午夜精品久久久久久久久久久久| 亚洲精品999| 国产成人精品国内自产拍免费看| 日韩在线精品视频| 亚洲а∨天堂久久精品9966| 欧美日韩亚洲系列| 亚洲最大成人免费视频| 欧美亚洲视频在线看网址| 亚洲性av在线| 欧美理论电影在线播放| 日韩美女激情视频| 国产网站欧美日韩免费精品在线观看| 日韩精品极品视频| 欧美高清第一页| 欧美诱惑福利视频| 精品亚洲一区二区| 黑人与娇小精品av专区| 亚洲第一综合天堂另类专| www.亚洲免费视频| 国产精品jizz在线观看麻豆| 亚洲va男人天堂| 亚洲精品小视频| 中文字幕在线日韩| 欧美日韩中文字幕综合视频| 91系列在线播放| 国产91|九色| 欧洲中文字幕国产精品| 欧美成人精品不卡视频在线观看| 成人激情视频在线播放| 欧美国产日本在线| 中文字幕亚洲无线码在线一区| 欧美小视频在线| 欧美—级a级欧美特级ar全黄|