页面中常见的小球飞入购物车效果应该注意什么地方?

        之前有群友问电商网站中点击“加入购物车”就会出现一个小球飞入购物车的动画是怎么做的,自己总是做不好,没有某些APP上那么流畅和自然。小球飞入购物车的效果,通常来说需要设置两个点,做一个css3动画就好了,从A点飞入到B点,飞入购物车做的其实是一个抛物线运动,就像这样:


抛物线运动

         这看起来很容易,用贝塞尔曲线工具调一个抛物线出来然后对照着写就可以了,所以我们可以先调整下小球运动的轨迹,然后搬过来就可以了。


贝塞尔曲线

#Ball {  Transform: translate3d(X,Y,0); transition: 1s cubic-bezier( .28 , 1.28 , .79 , 1.43 ) }

写完以后你会发现,完全不是那么回事,小球确实飞入了购物车,但是运动却变得很怪异,如下图:


怪异的小球

       原因很简单,因为小球到购物车的X距离是不需要这个贝塞尔曲线运动的,只在Y轴上有这个运动形式就可以了,所以就需要我们做两层。一层做Y轴的运动,另一层做X轴的运动,所以我们的思路应该是这样的:

    

#Ball {

    transition:  1s cubic-bezier(0,0,0,0);

   Transform: translate3d(X,0,0)

}

#BallWrap {

    transition:  1s cubic-bezier(.52,1.6,.67,1.47);

    Transform: translate3d(0,Y,0)

}


效果很简单,唯一需要注意的就是X轴不做运动形式,平滑过度就可以了。至于列表点击飞入购物车则需要动态计算按钮到购物车的X轴和Y轴距离,这里就不再详细说明。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 过程分析 1.首先购物车弹窗是一个组件,因为会出现在不同的页面中。 2.因为很多组件会用到购物车数据,所以统一放到...
    吴佳浩阅读 13,060评论 8 17
  • 本文将从为什么要探究更自然的动画、如何探究运动曲线方程、列举常用的运动曲线、分别使用js和css实现曲线动画效果、...
    转移到知乎熊的一些事阅读 5,164评论 2 1
  • 2D、3D变形动画 transform:2D变形:复合属性 通过 CSS3 转换,我们能够对元素进行移动、缩放、转...
    Zd_silent阅读 3,073评论 0 0
  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AI阅读 16,053评论 3 119
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    love2013阅读 6,859评论 0 11

友情链接更多精彩内容