无限循环轮播图之运动框架(原生JS实现)


Posted in Javascript onOctober 01, 2017

封装运动框架

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 相关文章推荐
[全兼容哦]--实用、简洁、炫酷的页面转入效果loing
May 07 Javascript
javascript中利用数组实现的循环队列代码
Jan 24 Javascript
js setTimeout()函数介绍及应用以倒计时为例
Dec 12 Javascript
JavaScript中实现PHP的打乱数组函数shuffle实例
Oct 11 Javascript
jQuery qrcode生成二维码的方法
Apr 03 Javascript
微信小程序loading组件显示载入动画用法示例【附源码下载】
Dec 09 Javascript
webpack组织模块打包Library的原理及实现
Mar 10 Javascript
详解create-react-app 2.0版本如何启用装饰器语法
Oct 23 Javascript
微信小程序websocket聊天室的实现示例代码
Feb 12 Javascript
JavaScript实现公告栏上下滚动效果
Mar 13 Javascript
Javascript call及apply应用场景及实例
Aug 26 Javascript
Antd表格滚动 宽度自适应 不换行的实例
Oct 27 Javascript
原生JS实现图片无缝滚动方法(附带封装的运动框架)
Oct 01 #Javascript
原生js封装运动框架的示例讲解
Oct 01 #Javascript
JS Testing Properties 判断属性是否在对象里的方法
Oct 01 #Javascript
基于原生js运动方式关键点的总结(推荐)
Oct 01 #Javascript
vuejs使用递归组件实现树形目录的方法
Sep 30 #Javascript
Easy UI动态树点击文字实现展开关闭功能
Sep 30 #Javascript
js实现轮播图的两种方式(构造函数、面向对象)
Sep 30 #Javascript
You might like
php 无限级 SelectTree 类
2009/05/19 PHP
PHP用身份证号获取星座和生肖的方法
2013/11/07 PHP
PHP Hash算法:Times33算法代码实例
2015/05/13 PHP
php基于curl主动推送最新内容给百度收录的方法
2016/10/14 PHP
javascript 兼容所有浏览器的DOM扩展功能
2012/08/01 Javascript
ko knockoutjs动态属性绑定技巧应用
2012/11/14 Javascript
基于socket.io和node.js搭建即时通信系统
2014/07/30 Javascript
JavaScript实现的浮动层框架用法实例分析
2015/10/10 Javascript
Bootstrap每天必学之按钮
2015/11/26 Javascript
限制复选框最多选择项的实现代码
2016/05/30 Javascript
AngularJS表达式讲解及示例代码
2016/08/16 Javascript
JS仿JQuery选择器功能
2017/03/08 Javascript
three.js中文文档学习之通过模块导入
2017/11/20 Javascript
JavaScript基于对象方法实现数组去重及排序操作示例
2018/07/10 Javascript
vue-cli 首屏加载优化问题
2018/11/06 Javascript
使用vue-cli脚手架工具搭建vue-webpack项目
2019/01/14 Javascript
为什么Vue3.0使用Proxy实现数据监听(defineProperty表示不背这个锅)
2019/10/14 Javascript
[02:41]2015国际邀请赛中国区预选赛观战指南
2015/05/20 DOTA
在Python中使用next()方法操作文件的教程
2015/05/24 Python
Python 处理数据的实例详解
2017/08/10 Python
python使用Tesseract库识别验证
2018/03/21 Python
pandas 数据归一化以及行删除例程的方法
2018/11/10 Python
解决pip install xxx报错SyntaxError: invalid syntax的问题
2018/11/30 Python
python re库的正则表达式入门学习教程
2019/03/08 Python
一篇文章了解Python中常见的序列化操作
2019/06/20 Python
Python+numpy实现矩阵的行列扩展方式
2019/11/29 Python
Python原始套接字编程实例解析
2020/01/29 Python
python怎么提高计算速度
2020/06/11 Python
用纯css3和html制作泡沫对话框实现代码
2013/03/21 HTML / CSS
质检部部长职责
2013/12/16 职场文书
施工资料员的岗位职责
2013/12/22 职场文书
总经理岗位职责范本
2014/02/02 职场文书
大三学生做职业规划:给未来找个方向
2014/02/24 职场文书
毕业生银行实习自我鉴定
2014/10/14 职场文书
Pytorch DataLoader shuffle验证方式
2021/06/02 Python
MySQL悲观锁与乐观锁的实现方案
2021/11/02 MySQL