`

Js实现动画兼容性transition和transform

    博客分类:
  • js
阅读更多

今天在开发纯手工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 = "";

 

分享到:
评论

相关推荐

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

    主要介绍了JS实现动画兼容性的transition和transform方法,结合实例形式分析了transition和transform方法针对手机端浏览器兼容性问题上的相关处理技巧,需要的朋友可以参考下

    CSS3 transform图片飞入动画特效

    虽然大部分现代浏览器都支持CSS3的transform和transition属性,但老版本的IE浏览器可能需要使用厂商前缀(如-webkit-)或借助于像Modernizr这样的库来检测并提供兼容性解决方案。 总的来说,CSS3 transform图片飞入...

    用js实现flash效果

    虽然现代浏览器普遍支持JavaScript动画,但还需注意老版本浏览器的兼容性。可以使用渐进增强或优雅降级策略,确保动画在各种环境下都能正常工作。 综上所述,JavaScript已经足够强大,可以替代Flash实现各种动态...

    js动画效果

    本主题将深入探讨如何利用JavaScript实现各种动画,包括改变元素大小、位移以及调整透明度,并且重点讨论如何确保这些动画在不同的浏览器,如Internet Explorer(IE)和Firefox上具有良好的兼容性。 首先,我们来看...

    简约的方式来创建JS动画

    这些库可以帮助开发者快速创建复杂的动画效果,同时处理浏览器兼容性和性能优化。 6. **Web Components**:随着Web Components标准的发展,可以将动画封装在自定义元素中,使得代码组织更加清晰,复用性更强。结合...

    js简洁客服和返回顶部右侧漂浮代码,有动画效果,兼容主流浏览器

    - **CSS3动画**:为了让效果更佳,我们可能需要结合CSS3的动画属性,如`transition`和`transform`,来实现按钮出现、消失以及页面滚动的平滑过渡。 - **异步编程**:如果客服系统涉及到Websocket或Ajax通信,那么...

    JavaScript实现移动端带transition动画的轮播效果

    JavaScript 实现移动端带transition动画的轮播效果是一种常见的前端交互设计,主要利用JavaScript原生功能和CSS3的transition属性来创建平滑的过渡效果。以下将详细解释如何实现这一功能。 首先,我们要明确轮播的...

    js半圆形banner切换动画效果

    JavaScript(简称JS)是一种轻量级的脚本语言,常用于网页和网络应用的开发,实现动态内容和交互性功能。在这个"js半圆形banner切换动画效果"的项目中,我们探讨的是如何利用JS来创建一种独特的视觉效果,即在Banner...

    CSS3实现弹性动画展开菜单.rar_CSS3实现弹性动画展开菜单_css3展开动画_particlesdjv

    首先,CSS3弹性动画的核心在于`transition`和`transform`属性。`transition`允许我们在元素状态改变时添加平滑的过渡效果,而`transform`则提供了对元素缩放、旋转、移动等多种变换操作。在这个菜单插件中,`...

    多图轮播特效兼容性好

    2. **CSS3**:CSS3引入了动画和过渡效果,如`transition`和`animation`,可以用于创建无JavaScript依赖的轮播效果。通过改变`transform`属性,如`translateX()`,可以实现图片在水平方向上的平滑移动。同时,`...

    Js 实现的幻灯片效果 兼容 IE FF

    5. **兼容性处理**:由于JavaScript在不同浏览器中的实现可能存在差异,特别是对于老版本的Internet Explorer (IE)和Firefox,我们需要确保代码具有良好的浏览器兼容性。这可能涉及到使用polyfills(用于提供缺失...

    js实现双层撕页广告效果.zip

    为了确保在不同浏览器和设备上的兼容性,我们需要使用`requestAnimationFrame`来平滑地执行动画,并检查浏览器对CSS3特性的支持。此外,对于移动设备,可能还需要考虑触摸事件的处理和手势识别。 通过这样的步骤,...

    原生JS动画框架,带图片旋转功能

    总之,原生JS动画框架,尤其是带有图片旋转功能的实现,是一个技术含量较高的项目,涉及到JavaScript基础、CSS3变换、浏览器兼容性和性能优化等多个方面。通过理解和应用这样的框架,开发者可以创建出更具互动性和...

    纯js实现页面返回顶部的动画(超简单)

    此外,这种简单的动画实现方式适用于基本的页面操作,对于用户体验要求更高的现代Web应用来说,可能需要更加细腻和多样化的动画效果,这时候可能需要借助于CSS3的动画(@keyframes)、transform属性来实现更复杂的...

    数字翻牌效果JS实现,高端大气的数字翻拍效果实现

    7. **兼容性处理**:考虑到不同的浏览器对CSS3和JavaScript的支持程度不同,可能需要添加兼容性检查和处理,以确保在各种环境下都能正常工作。 总的来说,实现高端大气的数字翻牌效果需要结合HTML、CSS和JavaScript...

    原生js Aui-core结合css3 transform属性制

    4. **动画**:`transform`是创建平滑动画的理想选择,配合`transition`或`animation`属性,可以轻松实现元素的动态过渡效果。 在实际项目中,例如"texiao7079_1560680964"这个压缩包内的代码示例,可能展示了如何...

    css动画和js动画的比较.pdf

    JavaScript动画则提供了更高的灵活性,实现方式包括`setInterval`、递归和`requestAnimationFrame`等。其优点有: 1. **强大的控制**:JavaScript允许开发者在动画执行过程中进行精确控制,如开始、暂停、回放、...

    anime.js-强大的Javascript动画库插件

    它可以处理包括transform和transition在内的高级属性,确保在各种现代浏览器上的兼容性和流畅性。通过精确控制动画的时间曲线(easing),开发者可以实现各种定制化的动态效果,如加速、减速、弹跳等。 SVG动画是...

    基于CSS3实现的transform属性相册图片墙源码

    【CSS3实现的transform属性相册图片墙源码详解】 在现代网页设计中,CSS3的引入极大地丰富了...然而,考虑到兼容性问题,对于仍使用旧版浏览器的用户,可能需要提供备选方案,如使用JavaScript进行模拟或者降级处理。

    js+css3实现五种3D动画

    同时,transition和animation属性可以实现元素状态间的平滑过渡,创建出各种动画效果。 现在,我们来看五种具体的3D图片切换效果: 1. **3D立体墙**:这种效果模拟了一个包含多张图片的3D立体墙面,用户可以通过...

Global site tag (gtag.js) - Google Analytics