この記事の内容はjsでのtween.jsを使ったアニメーションのスローモーションの効果についてです(サンプルコード)ので、困っている方は参考にしていただければ幸いです。
window.requestAnimFrame = (function (callback,time) { return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimaitonFrame || function (callback) { window.setTimeout(callback, time); }; })();
/* * t: current time(当前时间,小于持续时间,tween返回当前时间目标的状态); * b: beginning value(初始值); * c: change in value(变化量); * d: duration(持续时间)。 */
Linear:線形均一モーションエフェクト
Quadratic:二次イージング(t^2);
t^3 – s
easeIn: 0 から加速するイージング、つまり、最初は遅く、次に高速です。
easeOut: 0 まで減速するイージング、つまり、最初は速く、次にゆっくりです。
easeInOut: イージングは前半では 0 から始まり、後半では 0 まで減速します。
Tween.jsアニメーションアルゴリズム使用例ページ
1.
var t = 0, b = 0, c = 100, d = 10; var step = function () { // value就是当前的位置值 // 例如我们可以设置DOM.style.left = value + 'px'实现定位 var value = Tween.Linear(t, b, c, d); t++; if (t
backTop(){ var Tween = { Linear: function(t, b, c, d) { //匀速运动 return c * t / d + b; } } Math.tween = Tween; var t = 0; const b = document.documentElement.scrollTop; const c = 100; const d = 5; const setInt = setInterval(()=>{ t--; //console.log(t) if(document.documentElement.scrollTop == 0){clearInterval(setInt)} //console.log(t); const backTop = Tween.Linear(t,b,c,d); //console.log(backTop); document.documentElement.scrollTop = backTop; },5) },
Study Fun Park, backLeft
インストール
りぃ例
npm install @tweenjs/tween.js
関連する推奨事項: tween.js を使用してナビゲーション バーを実装する方法 slide_html/css_WEB-ITnose
以上がjsのtween.jsでアニメーションのゆっくりとした動きの効果を実現(サンプルコード)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。