无限循环轮播图之运动框架(原生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中5个重要的Observer函数小结

    JavaScript中5个重要的Observer函数小结

    浏览器为开发者提供了功能丰富的Observer,本文主要介绍了JavaScript中5个重要的Observer函数小结,具有一定的参考价值,感兴趣的可以了解一下
    2024-01-01
  • TypeScript利用TS封装Axios实战

    TypeScript利用TS封装Axios实战

    这篇文章主要介绍了TypeScript利用TS封装Axios实战,TypeScript封装一遍Axios,能进一步巩固TypeScript的基础知识,需要的小伙伴可以参考一下
    2022-06-06
  • js 拖拽翻页实现代码

    js 拖拽翻页实现代码

    js 拖拽翻页
    2009-04-04
  • js弹出窗口返回值的简单实例

    js弹出窗口返回值的简单实例

    下面小编就为大家带来一篇js弹出窗口返回值的简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-05-05
  • ES6新特性五:Set与Map的数据结构实例分析

    ES6新特性五:Set与Map的数据结构实例分析

    这篇文章主要介绍了ES6新特性五之Set与Map的数据结构,结合实例形式分析了ES6中Set与Map的功能、定义、属性、结构与相关使用技巧,需要的朋友可以参考下
    2017-04-04
  • JavaScript中innerHTML,innerText,outerHTML的用法及区别

    JavaScript中innerHTML,innerText,outerHTML的用法及区别

    在javascript中如果我们要获取对象内容,js为我们提供了三种方法outerhtml、innerhtml和innertext,但他们之间具体怎么使用与具体的区别在哪里,可能很多人不知道吧,接下来跟着小编一起来学习innerHTML,innerText,outerHTML的用法及区别吧。
    2015-09-09
  • 防止按钮在短时间内被多次点击的方法

    防止按钮在短时间内被多次点击的方法

    一个按钮可以在短时间内多次点击,那么有可能会被用户恶意点击,下面有个不错的方法可以有效制止,希望对大家有所帮助
    2014-03-03
  • javascript数组去重方法终极总结

    javascript数组去重方法终极总结

    这篇文章主要介绍了javascript数组去重终极总结,本文列举了3种javascript数组去重方法,并分别分析了它们的优缺点,需要的朋友可以参考下
    2014-06-06
  • jQuery与原生JavaScript选择HTML元素集合用法对比分析

    jQuery与原生JavaScript选择HTML元素集合用法对比分析

    这篇文章主要介绍了jQuery与原生JavaScript选择HTML元素集合用法,结合实例形式对比分析了jquery与原生JavaScript选择页面HTML相关操作方法、注意事项及运行效率,需要的朋友可以参考下
    2019-11-11
  • JS沙箱绕过以及竞争条件型漏洞复现

    JS沙箱绕过以及竞争条件型漏洞复现

    沙箱绕过"是指攻击者利用各种方法和技术来规避或绕过应用程序或系统中的沙箱,本文主要介绍了JS沙箱绕过以及竞争条件型漏洞复现,具有一定的参考价值,感兴趣的可以了解一下
    2023-08-08

最新评论