css贝塞尔曲线模仿饿了么购物车小球动画

在线观看贝塞尔曲线值:传送门

在线观看动画效果:传送门

代码:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>JS Bin</title>
  <style>
	  html{
	  	width: 100%;
	  	height: 100%;
	  }
  	body{
  		position: absolute;
  		width: 100%;
  		height: 100%;
  		top: 0;
  		left: 0;
  		bottom: 0;
  		right: 0;
  		overflow: hidden;
  	}
  	.icon-add{
			position: absolute;
			right: 20px;
			top: 100px;
			display: inline-block;
			width: 50px;
			height: 50px;
			line-height: 50px;
			text-align: center;
			font-size: 30px;
			border:1px solid #ddd;
			border-radius: 50%;
  	}
  	.icon2{
  		top: 200px;
  	}
  	.point-outer.point-pre {
    display: none;
		}
		.point-outer {
		    position: absolute;
		    z-index: 20;
		    -webkit-transition: all 0.5s cubic-bezier(0.39,-0.4,0.83,0.23) 0s;
		    transition: all 0.5s cubic-bezier(0.39,-0.4,0.83,0.23) 0s;
		}
		.point-inner {
	    width: 50px;
	    height: 50px;
	    line-height: 50px;
	    border-radius: 50%;
	    background-color: #09BE03;
	    -webkit-transition: all 0.5s linear 0s;
	    color: #ffffff;
	    text-align: center;
	    font-size: 0.7rem;
	}
  </style>
</head>
<body>
<span class="icon-add icon">+</span>
<span class="icon-add icon2">+</span>
<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
<script>
	$(function () {
		//小球运动动画元素
		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);
		}
		$(‘.icon-add‘).click(function(){
			var startOffset = $(this).offset();
			var endTop = window.innerHeight - 30,
			endLeft = 20,
			left = startOffset.left,
			top = startOffset.top;
			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");
			}, 500);
			//这里的延迟值和小球的运动时间相关
			}, 1);
			//小球运动坐标
		})
	})
</script>
</body>
</html>

  

时间: 2024-08-05 07:05:44

css贝塞尔曲线模仿饿了么购物车小球动画的相关文章

Android 利用二次贝塞尔曲线模仿购物车添加物品抛物线动画

0.首先,先给出一张效果gif图. 1.贝塞尔曲线原理及相关公式参考:http://www.jianshu.com/p/c0d7ad796cee 作者:许方镇. 2.原理:计算被点击 view.购物车view 以及他们所在父容器相对于屏幕的坐标. 3.在呗点击View坐标位置 父容器通过addView 增加需要完成动画的imgview. 4.自定义估值器 通过二次贝塞尔曲线公式(2个数据点,一个控制点)完成抛物线路径上的点xy坐标计算. 5.利用属性动画 +自定义估值器 完成imgview在父容

用贝塞尔曲线做的一个下拉刷新动画

以前就一直觉得ios 上的 mail 的下拉刷新的动画非常酷炫,但是一直不知道那种"滴虫"效果是怎么实现的.直到前段时间看到的贝塞尔曲线,感觉很神奇.如下图: 看起来和滴虫动画有点像,然后就花了点时间做了一个下拉刷新出来. 项目地址:https://github.com/ufo22940268/DropRefreshView 欢迎围观

贝塞尔曲线与CAShapeLayer的关系以及Stroke动画

1.贝塞尔曲线与CAShapeLayer的关系    1.1CAShapeLayer须要一个形状才干生效,贝塞尔曲线能够创建基于矢量的路径.进而能够给CAShapeLayer提供路径,路径会闭环.    1.2贝塞尔曲线作为CAShapeLayer的path,其path是一个首尾相接的闭环的曲线. 2.实际应用 2.2画椭圆        2.2画矩形,画圆形的方法和上边的一致,仅仅是绘图时调用的方法不一致而已. 3.注意:贝塞尔曲线与CAShapeLayer的frame值互不干扰,贝塞尔曲线仅

vue.js加入购物车小球动画

http://www.cnblogs.com/yuxingyoucan/p/7063881.html 生成一个动画小球的div,并且生成五个小球,五个是为了生成一定数量的小球来作为操作使用,按照小球动画的速度,一般来说五个也可以保证有足够的小球数量来运行动画 动画的内容分别是外层和内层,外层控制动画小球的轨道和方向,内层控制动画小球的运行状态 动画使用vue的js钩子实现 因为小球动画只有一个方向(只执行单方向从上到下滚落),所以只用了before-enter,enter,after-enter

贝塞尔曲线实现购物车飞入效果

代码地址如下:http://www.demodashi.com/demo/12618.html 前言 做了一个模仿添加物品飞入购物车效果的例子,下面来讲讲它的简单使用 将涉及到以下内容: 工具类的使用 项目结构图与效果图 程序设计与实现 一. 工具类设计 工具类比较多代码,这里就不每个都贴出来了,如下截图为工具类 二. 工具类的使用 飞入购物车效果我封装成了一个工具类FlyAnimtor,下面讲讲它的使用. 如果你想使用飞入效果,你可以这样写: FlyAnimtor.getInstance().

把商品添加到购物车的动画效果(贝塞尔曲线)

如图: 参考: Android补间动画,属性动画实现购物车添加动画 思路: 确定动画的起终点 在起终点之间使用二次贝塞尔曲线填充起终点之间的点的轨迹 设置属性动画,ValueAnimator插值器,获取中间点的坐标 将执行动画的控件的x.y坐标设为上面得到的中间点坐标 开启属性动画 当动画结束时的操作 难点: PathMeasure的使用 - getLength() - boolean getPosTan(float distance, float[] pos, float[] tan) 的理解

贝塞尔曲线开发的艺术

贝塞尔曲线开发的艺术 一句话概括贝塞尔曲线:将任意一条曲线转化为精确的数学公式. 很多绘图工具中的钢笔工具,就是典型的贝塞尔曲线的应用,这里的一个网站可以在线模拟钢笔工具的使用: http://bezier.method.ac/ 贝塞尔曲线中有一些比较关键的名词,解释如下: 数据点:通常指一条路径的起始点和终止点 控制点:控制点决定了一条路径的弯曲轨迹,根据控制点的个数,贝塞尔曲线被分为一阶贝塞尔曲线(0个控制点).二阶贝塞尔曲线(1个控制点).三阶贝塞尔曲线(2个控制点)等等. 要想对贝塞尔曲

曲线之美 --贝塞尔曲线

原文:http://blog.csdn.net/killwd/article/details/1460478 贝塞尔曲线   维基百科 http://zh.wikipedia.org/wiki/%E8%B2%9D%E8%8C%B2%E6%9B%B2%E7%B7%9A 在图形图像编程时,我们常常需要根据一系列已知点坐标来确 定一条光滑曲线.其中有些曲线需要严格地通过所有的已知点,而有些曲线却不一定需要.在后者中,比较有代表性的一类曲线是贝塞尔曲线(Bézier Splines). 网友们可能注意到

浅谈属性动画简单使用之实现爱的贝塞尔曲线浪漫告白效果(三)

谁说程序员不浪漫的啊,每次看到别人在黑程序员心中就有一种无奈,只是他们看到的是程序员不好的一面,今天我将用这个案例告诉那些人,程序猿也是一个很浪漫,很有情调的人.在程序员心中他们只想做最高效的事情,没有什么比效率更重要了.那就开始今天程序猿的告白之旅. 我们都知道属性动画有个强大的地方,它实现让某个控件按照我们指定的运动轨迹来运动.也就是说它可以按照一个抛物线来运动,也可以按照一个线性的线来运动,还可以按照我们今天所讲的贝塞尔曲线的轨迹来运动.为什么他可以按照某一个轨迹来运动呢??首先我们来分析