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 相关文章推荐
很酷的javascript loading效果代码
Jun 18 Javascript
javascript 折半查找字符在数组中的位置(有序列表)
Dec 09 Javascript
高效率JavaScript编写技巧整理
Aug 23 Javascript
Ext修改GridPanel数据和字体颜色、css属性等
Jun 13 Javascript
JavaScript中的console.dir()函数介绍
Dec 29 Javascript
JS实现文件动态顺序载入的方法
Mar 07 Javascript
Web前端新人笔记之jquery入门心得(新手必看)
May 17 Javascript
微信小程序  audio音频播放详解及实例
Nov 02 Javascript
bootstrap-datetimepicker实现只显示到日期的方法
Nov 25 Javascript
JavaScript实现的超简单计算器功能示例
Dec 23 Javascript
jQuery点击页面其他部分隐藏下拉菜单功能
Nov 27 jQuery
如何用JavaScipt测网速
May 09 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
PHP stream_context_create()作用和用法分析
2011/03/29 PHP
如何使用PHP实现javascript的escape和unescape函数
2013/06/29 PHP
php实现常见图片格式的水印和缩略图制作(面向对象)
2016/06/15 PHP
深入了解PHP中的Array数组和foreach
2016/11/06 PHP
laravel通过a标签从视图向控制器实现传值
2019/10/15 PHP
Js event事件在IE、FF兼容性问题
2011/01/01 Javascript
jQuery 实现自动填充邮箱功能(带下拉提示)
2014/10/14 Javascript
javascript arguments使用示例
2014/12/16 Javascript
Javascript基于AJAX回调函数传递参数实例分析
2015/12/15 Javascript
通过正则表达式获取url中参数的简单实现
2016/06/07 Javascript
AngularJS中过滤器的使用与自定义实例代码
2016/09/17 Javascript
让DIV的滚动条自动滚动到最底部的3种方法(推荐)
2016/09/24 Javascript
JavaScript中最常用的10种代码简写技巧总结
2017/06/28 Javascript
SelectPage v2.4 发布新增纯下拉列表和关闭分页功能
2017/09/07 Javascript
Vuejs实现购物车功能
2017/11/05 Javascript
让Vue也可以使用Redux的方法
2018/05/23 Javascript
JSON数据中存在单个转义字符“\”的处理方法
2018/07/11 Javascript
解决ant Design中this.props.form.validateFields未执行的问题
2020/10/27 Javascript
纯Python开发的nosql数据库CodernityDB介绍和使用实例
2014/10/23 Python
python基础入门学习笔记(Python环境搭建)
2016/01/13 Python
Python简单获取自身外网IP的方法
2016/09/18 Python
Python环境搭建之OpenCV的步骤方法
2017/10/20 Python
Django学习教程之静态文件的调用详解
2018/05/08 Python
pandas.dataframe中根据条件获取元素所在的位置方法(索引)
2018/06/07 Python
python面向对象法实现图书管理系统
2019/04/19 Python
Python求均值,方差,标准差的实例
2019/06/29 Python
python使用html2text库实现从HTML转markdown的方法详解
2020/02/21 Python
jupyter notebook运行命令显示[*](解决办法)
2020/05/18 Python
python中time.ctime()实例用法
2021/02/03 Python
详解如何用canvas画一个微笑的表情
2019/03/14 HTML / CSS
AT&T Wireless:手机、无限数据计划和配件
2018/06/03 全球购物
护理专业本科生自荐信
2013/10/01 职场文书
电气工程师岗位职责
2014/01/01 职场文书
《毛主席在花山》教学反思
2014/04/20 职场文书
人事经理岗位职责范本
2014/08/04 职场文书
校园文化艺术节开幕词
2016/03/04 职场文书