CSS3 抛物线 加入购物车
来源:互联网 发布:顺德农商网上银行软件 编辑:程序博客网 时间:2024/05/17 02:22
前言
项目中用到购物车抛物线动画 一开始使用的是Jquery插件 jquery.fly.js;在手机上使用时一些较手机效果不是很好,因为这个插件会根据抛物线动画时间和距离计算抛物线点轨迹(FPS,说是一秒要有60帧的样子)会有卡顿现象,而且还有window.requestAnimationFrame的兼容性问题 ,如果在只是PC段使用还是挺好的。下面介绍我们使用CSS3的方式。
Demo下载地址:http://download.csdn.net/detail/king_jw/9115151 包含完整的demo,请勿使用demo中的页面和图片
使用的是Css3 两个元素,外面的元素纵坐标移动,里面的元素横坐标移动 不使用keyframe
先贴代码
JavaScript
预设5个抛物点,这部分视情况是否要这样做
var $pointDiv = $('<div id="pointDivs">').appendTo('body');for(var i = 0;i<5;i++){ $('<div class="point-outer point-pre"><div class="point-inner"/></div>').appendTo($pointDiv);}
点击事件代码
//获取开始点坐标var startOffset = $(ev.target).offset();//获取结束点坐标var endTop = window.innerHeight - 30, endLeft = 20,left = startOffset.left+10,top = startOffset.top+10;var outer = $('#pointDivs .point-pre').first().removeClass("point-pre").css({left:left+'px',top:top+'px'});var inner = outer.find(".point-inner");setTimeout(function(){ outer[0].style.webkitTransform = 'translate3d(0,'+(endTop - top)+'px,0)'; inner[0].style.webkitTransform = 'translate3d('+(endLeft - left)+'px,0,0)'; setTimeout(function(){ outer.removeAttr("style").addClass("point-pre"); inner.removeAttr("style"); },800);},1);
CSS
.point-outer{ position:absolute; z-index:20; -webkit-transition:all 0.8s cubic-bezier(0.39,-0.4,0.83,0.23) 0s;}.point-inner{ width:10px; height:10px; border-radius:50%; background-color:#ff6326; -webkit-transition:all 0.8s linear 0s;}.point-outer.point-pre{ display:none;}
说明
这里在说明下JS中的两个setTimeout。第一个setTimeout是等元素定位到起始点,第二个是抛物线动画自行完成后隐藏抛物点。
使用div中嵌入div:外面的div是outer,里面的是inner 。outer 的css设置其垂直方向运动,inner的css设置水平方式运动。为达到抛物线效果,inner的运动速度设置的匀速(linear
),而outer运动速度由贝塞尔曲线(cubic-bezier(n,n,n,n)
)设定,贝塞尔曲线值可以参考示例中的值。
关于贝塞尔曲线值的设置可以看下大神的文章 贝塞尔曲线与CSS3动画、SVG和canvas的基情
0 3
- CSS3 抛物线 加入购物车
- CSS3 抛物线 加入购物车
- 类似加入购物车的抛物线动画
- 天猫加入购物车效果(抛物线问题)
- 仿天猫加入购物车,商品做抛物线动画
- 加入购物车的抛物线小球运动效果
- 加入购物车的抛物线过程fly插件
- 加入购物车抛物线效果的基本实现(一)
- 商品加入购物车抛物线下坠的动画
- Android贝塞尔曲线实现加入购物车抛物线动画
- 仿购物车点击图片,沿着抛物线加入篮子动画
- 基于jquery fly插件实现加入购物车抛物线动画效果
- 基于jquery fly插件实现加入购物车抛物线动画效果
- 购物车功能抛物线轨迹
- Jquery购物车抛物线效果
- 购物车的抛物线运动
- 购物抛物线
- 点餐,购物车抛物线效果
- 20150726 固定层效果实现
- itoo3.1新开始,新起点......
- 求集合问题(并查集+筛选求素数/C++)
- 技术研发人员书籍推荐
- poj3635 Full Tank?(spfa+dp)
- CSS3 抛物线 加入购物车
- 47 - 按位实现加减乘除 四则运算
- Hduuoj1034【水题】
- linux apache2 tomcat7 mod_jk 整合
- 南阳47 过河问题(经典贪心)
- 关于iOS控件全局样式统一设定问题
- springmvc中@RequestMapping 和 controller 小结
- 牟家和:没有无耻的创业者,只有无耻的投机者
- SPOJ 2713. Can you answer these queries IV(GSS4 线段树)