最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

js实现缓动效果实例代码

来源:动视网 责编:小采 时间:2020-11-27 20:17:03
文档

js实现缓动效果实例代码

js实现缓动效果实例代码:var tween = { linear:function(t,b,c,d){return c*t/d + b; }, easeIn:function(t,b,c,d){return c * ( t /= d ) * t + b; }, strongEaseIn:function(t,b,c,d){return c * ( t /= d ) * t * t * t * t + b; }, strongEaseOut:function(t,b,c,d){return c * (
推荐度:
导读js实现缓动效果实例代码:var tween = { linear:function(t,b,c,d){return c*t/d + b; }, easeIn:function(t,b,c,d){return c * ( t /= d ) * t + b; }, strongEaseIn:function(t,b,c,d){return c * ( t /= d ) * t * t * t * t + b; }, strongEaseOut:function(t,b,c,d){return c * (


var tween = {
 linear:function(t,b,c,d){return c*t/d + b; },
 easeIn:function(t,b,c,d){return c * ( t /= d ) * t + b; },
 strongEaseIn:function(t,b,c,d){return c * ( t /= d ) * t * t * t * t + b; },
 strongEaseOut:function(t,b,c,d){return c * ( ( t = t / d -1 ) * t * t * t * t +1 ) + b;
 },
 sineaseIn:function(t,b,c,d){return c * ( t /= d ) * t * t + b; 
 },
 sineaseOut:function(t,b,c,d){return c * ( ( t = t / d -1 ) * t * t *t +1 ) + b;
 }
};var Animate = function(dom){this.dom = dom;this.startTime = 0;this.startPos = 0;this.endPos = 0;this.propertyName = null;this.easing = null;this.duration = null;
}

Animate.prototype.start = function(propertyName,endPos,duration,easing){this.startTime = +new Date;this.startPos = this.dom.getBoundingClientRect()[propertyName];this.propertyName = propertyName;this.endPos = endPos;this.duration = duration;this.easing = tween[easing];var self = this;var timeId = setInterval(function(){if(self.step() === false){
 clearInterval(timeId);
 }
 },19);
}

Animate.prototype.step = function(){var t = +new Date;if(t>=this.startTime + this.duration){this.update(this.endPos);return false;
 }var pos = this.easing(t-this.startTime, this.startPos, this.endPos - this.startPos, this.duration);this.update(pos);
}

Animate.prototype.update = function(pos){this.dom.style[this.propertyName] = pos + 'px';
}var div = document.getElementById('div');var animate = new Animate(div);
animate.start('left',500,1000,'strongEaseOut');

文档

js实现缓动效果实例代码

js实现缓动效果实例代码:var tween = { linear:function(t,b,c,d){return c*t/d + b; }, easeIn:function(t,b,c,d){return c * ( t /= d ) * t + b; }, strongEaseIn:function(t,b,c,d){return c * ( t /= d ) * t * t * t * t + b; }, strongEaseOut:function(t,b,c,d){return c * (
推荐度:
标签: 实现 代码 效果
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top