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做flash做的事..才完成的一个类.Auntion Action var 0.1
Feb 23 Javascript
IE6图片加载的一个BUG解决方法
Jul 13 Javascript
javascript分页代码实例分享(js分页)
Dec 13 Javascript
一种基于浏览器的自动小票机打印实现方案(js版)
Jul 26 Javascript
微信小程序 获取微信OpenId详解及实例代码
Oct 31 Javascript
jQuery EasyUI 组件加上“清除”功能实例详解
Apr 11 jQuery
node.js使用redis储存session的方法
Sep 26 Javascript
JavaScript对JSON数组简单排序操作示例
Jan 31 Javascript
Vue实现拖放排序功能的实例代码
Jul 08 Javascript
微信小程序new Date()方法失效问题解决方法
Jul 29 Javascript
Vue作用域插槽实现方法及作用详解
Jul 08 Javascript
vue3.0中使用element的完整步骤
Mar 04 Vue.js
简单实现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
世界上第一台立体声收音机
2021/03/01 无线电
php中curl、fsocket、file_get_content三个函数的使用比较
2014/05/09 PHP
完善CodeIgniter在IDE中代码提示功能的方法
2014/07/19 PHP
php进行支付宝开发中return_url和notify_url的区别分析
2014/12/22 PHP
PHP IDE PHPStorm配置支持友好Laravel代码提示方法
2015/05/12 PHP
php $_SESSION会员登录实例分享
2021/01/19 PHP
PHP简单预防sql注入的方法
2016/09/27 PHP
php unicode编码和字符串互转的方法
2020/08/12 PHP
PHP用swoole+websocket和redis实现web一对一聊天
2019/11/05 PHP
火狐4、谷歌12不支持Jquery Validator的解决方法分享
2011/06/20 Javascript
JS控制表格实现一条光线流动分割行的方法
2015/03/09 Javascript
js获取url传值的方法
2015/12/18 Javascript
js类式继承与原型式继承详解
2016/04/07 Javascript
jQuery复制节点用法示例(clone方法)
2016/09/08 Javascript
javascript动画系列之模拟滚动条
2016/12/13 Javascript
JS中如何实现点击a标签返回页面顶部的问题
2017/01/19 Javascript
jQuery文字轮播特效
2017/02/12 Javascript
jQuery实现轮播图效果
2019/11/26 jQuery
详解JavaScript执行模型
2020/11/16 Javascript
Python处理RSS、ATOM模块FEEDPARSER介绍
2015/02/18 Python
python 中的divmod数字处理函数浅析
2017/10/17 Python
pandas把dataframe转成Series,改变列中值的类型方法
2018/04/10 Python
Python实现的远程登录windows系统功能示例
2018/06/21 Python
Python http接口自动化测试框架实现方法示例
2018/12/06 Python
python实现文本进度条 程序进度条 加载进度条 单行刷新功能
2019/07/03 Python
django 数据库连接模块解析及简单长连接改造方法
2019/08/29 Python
PHP统计代码行数的小代码
2019/09/19 Python
在python中计算ssim的方法(与Matlab结果一致)
2019/12/19 Python
python-jwt用户认证食用教学的实现方法
2021/01/19 Python
20世纪40年代连衣裙和复古服装:The Seamstress Of Bloomsbury
2018/07/24 全球购物
EMU Australia澳大利亚官网:澳大利亚本土雪地靴品牌
2019/07/24 全球购物
中学生民族团结演讲稿
2014/08/27 职场文书
三峡大坝导游词
2015/01/31 职场文书
2015年学校党建工作总结
2015/05/19 职场文书
2015中学政教处工作总结
2015/07/22 职场文书
关于flex 上下文中自动 margin的问题(完整例子)
2021/05/20 HTML / CSS