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 相关文章推荐
jQuery 表单验证插件formValidation实现个性化错误提示
Jun 23 Javascript
js 返回时间戳所对应的具体时间
Jul 20 Javascript
javascript中注册和移除事件的4种方式
Mar 20 Javascript
Windows8下搭建Node.js开发环境教程
Sep 03 Javascript
使用jquery插件qrcode生成二维码
Oct 22 Javascript
EasyUI布局 高度自适应
Jun 04 Javascript
微信小程序 vidao实现视频播放和弹幕的功能
Nov 02 Javascript
基于JS组件实现拖动滑块验证功能(代码分享)
Nov 18 Javascript
js遮罩效果制作弹出注册界面效果
Jan 25 Javascript
微信小程序实现星星评价效果
Nov 02 Javascript
angular 实现下拉列表组件的示例代码
Mar 09 Javascript
微信小程序传值以及获取值方法的详解
Apr 29 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
长波知识介绍
2021/03/01 无线电
NO3第三帝国留言簿制作过程
2006/10/09 PHP
php 删除记录实现代码
2009/03/12 PHP
PHP 页面跳转到另一个页面的多种方法方法总结
2009/07/07 PHP
PHP stream_context_create()作用和用法分析
2011/03/29 PHP
PHP获取youku视频真实flv文件地址的方法
2014/12/23 PHP
PHP版本如何选择?应该使用哪个版本?
2015/05/13 PHP
详解WordPress中调用评论模板和循环输出评论的PHP函数
2016/01/05 PHP
php7性能提升的原因详解
2019/10/13 PHP
javaScript call 函数的用法说明
2010/04/09 Javascript
JavaScript 打地鼠游戏代码说明
2010/10/12 Javascript
javascript中的window.location.search方法简介
2013/09/02 Javascript
JS实现固定在右下角可展开收缩DIV层的方法
2015/02/13 Javascript
基于JS实现Android,iOS一个手势动画效果
2016/04/27 Javascript
jQuery实现链接的title快速出现的方法
2017/02/20 Javascript
Node.js设置CORS跨域请求中多域名白名单的方法
2017/03/28 Javascript
jQuery 表单序列化实例代码
2017/06/11 jQuery
layui 优化button按钮和弹出框的方法
2018/08/15 Javascript
[58:54]EG vs RNG 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
[01:07:11]Secret vs Newbee 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
python聊天程序实例代码分享
2013/11/18 Python
基于python爬虫数据处理(详解)
2017/06/10 Python
详解Django之auth模块(用户认证)
2018/04/17 Python
PyCharm 2019.3发布增加了新功能一览
2019/12/08 Python
pycharm下配置pyqt5的教程(anaconda虚拟环境下+tensorflow)
2020/03/25 Python
Python安装Bs4的多种方法
2020/11/28 Python
HTML4和HTML5之间除了相似以外的10个主要不同
2012/12/13 HTML / CSS
New Balance加拿大官方网站:运动鞋和健身服装
2018/11/19 全球购物
Myprotein意大利官网:欧洲第一运动营养品牌
2018/11/22 全球购物
机电专业毕业生求职信
2013/10/27 职场文书
理工大学毕业生自荐信
2013/11/01 职场文书
旅游市场营销方案
2014/03/09 职场文书
社会调查研究计划书
2014/05/01 职场文书
企业员工爱岗敬业演讲稿
2014/08/26 职场文书
党支部四风整改方案
2014/10/25 职场文书
Redis超详细讲解高可用主从复制基础与哨兵模式方案
2022/04/07 Redis