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 相关文章推荐
解决extjs在firefox中关闭窗口再打开后iframe中js函数访问不到的问题
Nov 06 Javascript
JavaScript 异步调用框架 (Part 5 - 链式实现)
Aug 04 Javascript
什么是JavaScript
Aug 13 Javascript
jQuery EasyUI NumberBox(数字框)的用法
Jul 08 Javascript
js中arguments,caller,callee,apply的用法小结
Jan 28 Javascript
Express实现前端后端通信上传图片之存储数据库(mysql)傻瓜式教程(一)
Dec 10 Javascript
Atitit.js的键盘按键事件捆绑and事件调度
Apr 01 Javascript
Javascript 5种方法实现过滤删除前后所有空格
Jun 22 Javascript
JS用斜率判断鼠标进入DIV四个方向的方法
Nov 07 Javascript
详解如何使用nvm管理Node.js多版本
May 06 Javascript
纯js+css实现仿移动端淘宝网站的弹出详情框功能
Dec 29 Javascript
详解Vue中的MVVM原理和实现方法
Jul 15 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的宝库目录--PEAR
2006/10/09 PHP
PHP工程师VIM配置分享
2015/12/15 PHP
Yii CGridView用法实例详解
2016/07/12 PHP
php微信开发之关注事件
2018/06/14 PHP
ExtJS Grid使用SimpleStore、多选框的方法
2009/11/20 Javascript
jquery.ui.progressbar 中文文档
2009/11/26 Javascript
js常用代码段收集
2011/10/28 Javascript
jQuery时间验证和转换为标准格式的时间格式
2017/03/06 Javascript
js实现3D图片展示效果
2017/03/09 Javascript
如何使用JS在HTML中自定义字符串格式化
2017/07/20 Javascript
angularjs路由传值$routeParams详解
2020/09/05 Javascript
vue.js实现点击后动态添加class及删除同级class的实现代码
2018/04/04 Javascript
vue项目中使用百度地图的方法
2018/06/08 Javascript
javascript触发模拟鼠标点击事件
2019/06/26 Javascript
layui问题之模拟table表格中的选中按钮选中事件的方法
2019/09/20 Javascript
Python内置的HTTP协议服务器SimpleHTTPServer使用指南
2016/03/30 Python
一张图带我们入门Python基础教程
2017/02/05 Python
Python3实现抓取javascript动态生成的html网页功能示例
2017/08/22 Python
python如何定义带参数的装饰器
2018/03/20 Python
浅谈Pandas:Series和DataFrame间的算术元素
2018/12/22 Python
深入浅析python 协程与go协程的区别
2019/05/09 Python
kali中python版本的切换方法
2019/07/11 Python
CSS3 圆角效果
2009/07/15 HTML / CSS
英国拖鞋购买网站:Bedroom Athletics
2020/02/28 全球购物
校园门卫岗位职责
2013/12/09 职场文书
我们的节日端午节活动方案
2014/03/02 职场文书
劳动工资科岗位职责范本
2014/03/02 职场文书
大学生就业自我推荐信
2014/05/10 职场文书
学校施工安全责任书
2015/01/29 职场文书
2015年计划生育协会工作总结
2015/05/13 职场文书
总经理致辞
2015/07/29 职场文书
毕业晚宴祝酒词
2015/08/11 职场文书
Pyqt5将多个类组合在一个界面显示的完整示例
2021/09/04 Python
JavaScript中的宏任务和微任务详情
2021/11/27 Javascript
Win11应用商店打开闪退怎么解决? win11应用商店打不开的多种解决办法
2022/04/05 数码科技
进阶篇之linux环境下安装MySQL数据库
2022/04/09 MySQL