JS实现动画兼容性的transition和transform实例分析


Posted in Javascript onDecember 13, 2016

本文实例讲述了JS实现动画兼容性的transition和transform方法。分享给大家供大家参考,具体如下:

今天在开发纯手工js打造图片滚动效果的时候,遇到一件不愉快的兼容事件。

之前js设置图片滚动动画效果如下:

var addSlideStyle = function(time, leftWidth) {
 time = time || 0;
 leftWidth = leftWidth || 0;
 return 'transition: all ' + time + 's ease-in-out; transform: translate3d(' + leftWidth + 'px, 0px, 0px);';
};

使用如下:

slideUlObj.style = addSlideStyle();

以上使用js设置style样式的方式实现,在pc端显示的各种好,可以自动滚动,一到手机上面各种不兼容就出来了。在addSlideStyle里面添加-webkit-前缀也没有得以解决。

于是乎,各种搜索原来是mobile的兼容问题,改成js设置动画:

var setTransition = function(obj, time) {
 time = time || 0;
 var style = 'all ' + time + 's ease-in-out';
 obj.style.webkitTransition = style;
 obj.style.transition = style;
};
var setTransform = function(obj, leftWidth) {
 leftWidth = leftWidth || 0;
 var style = 'translate3d(' + leftWidth + 'px, 0px, 0px)';
 obj.style.webkitTransform = style;
 obj.style.transform = style;
};
var setAnimate = function(obj, time, leftWidth) {
 setTransition(obj, time);
 setTransform(obj, leftWidth);
};

调用如下:

setAnimate(slideUlObj);

知识小科普:其中设置各种浏览器兼容性格式如下

webkitProperty
MozProperty
msProperty
OProperty
property

调用如下:

element.style.webkitTransform = "";
element.style.MozTransform = "";
element.style.msTransform = "";
element.style.OTransform = "";
element.style.transform = "";

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
Query中click(),bind(),live(),delegate()的区别
Nov 19 Javascript
原生js和jquery中有关透明度设置的相关问题
Jan 08 Javascript
JavaScript编程中window的location与history对象详解
Oct 26 Javascript
jQuery常用样式操作实例分析(获取、设置、追加、删除、判断等)
Sep 08 Javascript
原生JS实现图片左右轮播
Dec 30 Javascript
zTree 树插件实现全国五级地区点击后加载的示例
Feb 05 Javascript
详解react内联样式使用webpack将px转rem
Sep 13 Javascript
使用ECharts实现状态区间图
Oct 25 Javascript
微信小程序实现带参数的分享功能(两种方法)
May 17 Javascript
原生js实现随机点名功能
Nov 05 Javascript
用js限制网页只在微信浏览器中打开(或者只能手机端访问)
Dec 24 Javascript
Laravel 如何在blade文件中使用Vue组件的示例代码
Jun 28 Javascript
简单实现js浮动框
Dec 13 #Javascript
javascript中this关键字详解
Dec 12 #Javascript
深入理解javascript函数参数与闭包
Dec 12 #Javascript
smartupload实现文件上传时获取表单数据(推荐)
Dec 12 #Javascript
Javascript中call,apply,bind方法的详解与总结
Dec 12 #Javascript
微信小程序开发之圆形菜单 仿建行圆形菜单实例
Dec 12 #Javascript
深入理解javascript中concat方法
Dec 12 #Javascript
You might like
网络资源
2006/10/09 PHP
php中使用ExcelFileParser处理excel获得数据(可作批量导入到数据库使用)
2010/08/21 PHP
php URL验证正则表达式
2011/07/19 PHP
php不写闭合标签的好处
2014/03/04 PHP
php中使用key,value,current,next和prev函数遍历数组的方法
2015/03/17 PHP
PHP自定义函数获取URL中一级域名的方法
2016/08/23 PHP
PHP读MYSQL中文乱码的快速解决方法
2016/10/01 PHP
php使用正则表达式去掉html中的注释方法
2016/11/03 PHP
PHP new static 和 new self详解
2017/02/19 PHP
php实现二叉树中和为某一值的路径方法
2018/10/14 PHP
在IE上直接编辑网页内容的js代码(IE地址栏js)
2009/04/27 Javascript
JSON辅助格式化处理方法
2013/03/26 Javascript
全面了解构造函数继承关键apply call
2016/07/26 Javascript
jQuery实现Select左右复制移动内容
2016/08/05 Javascript
Nodejs基于LRU算法实现的缓存处理操作示例
2017/03/17 NodeJs
Mac系统下Webstorm快捷键整理大全
2017/05/28 Javascript
详解Vue-cli代理解决跨域问题
2017/09/27 Javascript
vue 指令之气泡提示效果的实现代码
2018/10/18 Javascript
javascript验证form表单数据的案例详解
2019/03/25 Javascript
性能优化篇之Webpack构建速度优化的建议
2019/04/03 Javascript
微信小程序使用canvas自适应屏幕画海报并保存图片功能
2019/07/25 Javascript
JavaScript相等运算符的九条规则示例详解
2019/10/20 Javascript
Vue如何实现监听组件原生事件
2020/07/03 Javascript
python使用Tkinter显示网络图片的方法
2015/04/24 Python
Python中shutil模块的常用文件操作函数用法示例
2016/07/05 Python
Python数据分析库pandas基本操作方法
2018/04/08 Python
python按时间排序目录下的文件实现方法
2018/10/17 Python
Python使用numpy模块实现矩阵和列表的连接操作方法
2019/06/26 Python
Windows系统Python直接调用C++ DLL的方法
2019/08/01 Python
python文件读写代码实例
2019/10/21 Python
详解Django CAS 解决方案
2019/10/30 Python
Python库skimage绘制二值图像代码实例
2020/04/10 Python
留学生如何写好自荐信
2013/12/27 职场文书
2014年重阳节敬老活动方案
2014/09/16 职场文书
2015年光棍节活动总结
2015/03/24 职场文书
大学生村官驻村工作心得体会
2016/01/23 职场文书