无限循环轮播图之运动框架(原生JS实现)
更新时间:2017年10月01日 09:29:49 作者:NT.Wang
下面小编就为大家带来一篇无限循环轮播图之运动框架(原生JS实现)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
封装运动框架
function getStyle(obj,name){
if(obj.currentStyle){
return obj.currentStyle[name];
}else{
return getComputedStyle(obj,false)[name];
}
}
function move(obj,json,options){
var options=options || {};
var duration=options.duration || 800;
var easing=options.easing || 'linear';
var n=0;
var start={};
var dis={};
var count=Math.ceil(duration/30);
//{top:0,left:0}
for(name in json){
start[name]=parseFloat(getStyle(obj,name));
dis[name]=json[name]-start[name];
}
clearInterval(obj.timer);
obj.timer=setInterval(function(){
n++;
for(name in json){
switch (easing){
case 'linear':
var a=n/count;
var cur=start[name]+dis[name]*a;
break;
case 'ease-out':
var a=1-n/count;
var cur=start[name]+dis[name]*(1-a*a*a);
break;
case 'ease-in':
var a=n/count;
var cur=start[name]+dis[name]*a*a*a;
break;
}
if(name=='opacity'){
obj.style[name]=cur;
}else{
obj.style[name]=cur+'px';
}
}
if(n==count){
clearInterval(obj.timer);
options.complete && options.complete();
}
},30);
}
以上这篇无限循环轮播图之运动框架(原生JS实现)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
JavaScript实现写入文件到本地的方法【基于FileSaver.js插件】
这篇文章主要介绍了JavaScript实现写入文件到本地的方法,结合实例形式分析了基于FileSaver.js插件实现保存文件到本地的相关操作技巧,并附带FileSaver.js插件完整源码,需要的朋友可以参考下2018-03-03
Bootstrap popover 实现鼠标移入移除显示隐藏功能方法
下面小编就为大家分享一篇Bootstrap popover 实现鼠标移入移除显示隐藏功能方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2018-01-01
JavaScript实现跨浏览器的添加及删除事件绑定函数实例
这篇文章主要介绍了JavaScript实现跨浏览器的添加及删除事件绑定函数,采用纯javascript实现jquery的bind及unbind添加与删除事件绑定的技巧,具有很好的浏览器兼容性,需要的朋友可以参考下2015-08-08
正则表达式中特殊符号及正则表达式的几种方法总结(replace,test,search)
这篇文章主要是对正则表达式中特殊符号及正则表达式的几种方法进行了详细的总结介绍,需要的朋友可以过来参考下,希望对大家有所帮助2013-11-11


最新评论