jQuery.fly插件实现添加购物车抛物线效果
样例

使用电商 APP 购买商品时,很多都有上图的红色小球抛物线效果,下面通过 jQuery.fly 插件来实现一个简单 Demo。
实现
简单思路:
- 确定抛物线的起始和终止位置;
- 通过 js 在起始位置创建一个 document 对象,作为红色小球;
- 通过 jQuery.fly 插件提供的fly函数来移动小球,移动至终止位置;
- 当小球到达终止位置后,通过fly插件提供的 onEnd 回调函数,将小球销毁;
Demo 源码:
<!DOCTYPE html>
<html lang="zh" style="font-size: 46.875px;">
<head>
<meta charset="UTF-8">
<title>fly Demo</title>
<style>
td {height: 300px;}
table {width:100%;}
img {width: 30%;}
</style>
<script type="text/javascript" src="../js/jquery-1.8.0.min.js"></script>
<script type="text/javascript" src="../js/fly.min.js"></script>
<script type="text/javascript">
function fly() {
var x = $("#fashe").offset().left;
var y = $("#fashe").offset().top;
pwxTex(x, y);
}
// 抛物线特效
function pwxTex(x, y) {
var speedI = $("#speedI").val();
var leftI = $("#b_leftI").val();
var topI = $("#b_topI").val(); // 获得目标的偏移量
var offset = $('#jieshou').offset();
var div = document.createElement('div');
div.className = 'pao';
div.style.cssText = 'transform: translate3d(0, 0, 0);' +
'width: 0.75rem;' +
'height: 0.75rem;' +
'border-radius: 50%;' +
'background: red;' +
'position: fixed;' +
'z-index: 99999999;' +
'top:'+x+'px;left:'+y+'px';
// 将生成的 div 写入 body 标签下
$('body').append(div);
// 获得生成的抛物线效果对象
var flyer = $('.pao');
var e_leftI = $('#e_leftI').val();
var e_topI = $('#e_topI').val();
flyer.fly({
start: {
left: x - leftI,
top: y - topI
},
end: {
// left: (offset.left + $('#jieshou').width() / 2), //结束位置
// top: (offset.top + $('#jieshou').height() / 1)
left : e_leftI,
top : e_topI
},
speed: speedI, // 越大越快,默认1.2
onEnd: function () { // 结束回调
$('#jieshou').css({'transform': 'scale(1)'}, 100);
this.destory(); // 销毁这个对象
}
});
}
</script>
</head>
<body>
<div>
<table>
<tr>
<td>zhengbin.cnblogs.com</td>
<td>
<img id="fashe" src="../img/tank.jpg">
</td>
</tr>
<tr>
<td>
<img id="jieshou" src="../img/lajitong.jpg">
</td>
<td>
speed:<input id="speedI" type="text" value="2">
<br>
b_left:<input id="b_leftI" type="text" value="1">
<br>
b_top:<input id="b_topI" type="text" value="-10">
<br>
e_left:<input id="e_leftI" type="text" value="100">
<br>
e_top:<input id="e_topI" type="text" value="500">
<br>
<button onclick="fly()">飞吧~~</button>
</td>
</tr>
</table>
</div>
</body>
</html>
Demo 实现效果

jQuery.fly插件实现添加购物车抛物线效果的更多相关文章
- 基于jquery fly插件实现加入购物车抛物线动画效果,jquery.fly.js
在购物网站中,加入购物车的功能是必须的功能,有的网站在用户点击加入购物车按钮时,就会出现该商品从点击出以抛物线的动画相似加入购物车,这个功能看起来非常炫,对用户体验也有一定的提高.下面介绍基于jque ...
- fly插件飞向购物车
首先载入jQuery库文件和jquery.fly.min.js插件. 插件官方: https://github.com/amibug/fly, 官方例子: http://codepen.io/hzxs ...
- jquery自定义插件来实现分页的效果
本节将介绍如何定义自己的jquery插入,实现分页效果,话不多说,.看看达到的效果: 分页插件 实现的代码例如以下: <!DOCTYPE HTML PUBLIC "-//W3C//DT ...
- jQuery改造插件,添加回调函数
<script language="javascript" type="text/javascript"> function doSomething ...
- jquery.fly.min.js 拋物插件
插件官方: https://github.com/amibug/fly, 官方例子: http://codepen.io/hzxs1990225/full/ogLaVp 首先加载jQuery.js和j ...
- FullPage.js-基于 jQuery 的插件全屏滚动插件
fullPage.js 是一个基于 jQuery 的插件,它能够很方便.很轻松的制作出全屏网站.如今我们经常能见到全屏网站,尤其是国外网站.这些网站用几幅很大的图片或色块做背景,再添加一些简单的内容, ...
- jQuery自定义插件
jQuery自定义插件 jQuery自定义插件按照功能分类,可以分为三类, 1>封装对象方法的插件,(也就是基于某个DOM元素的jQuery对象,局部的) 2>封装全局函数的插件, ( ...
- 21个很棒的jQuery分页插件下载
分页是指将一个大内容划分为各种不同的页面,因此网站的分页是一个很重要的部分,必须让内容有组织性和易于访问.分页有各两种不同的方式,手动跟自动.最受欢迎简单和广泛的方法是jQuery插件.下面我们收集了 ...
- 异步实时搜索jquery select插件
异步实时搜索jquery select插件 一.先看看效果. 二.做此插件的原因. 1.数据量过大(几千.几万条),无法一次性全部加载. 2.现有插件各不相同,无法满足功能需求. 3.美观性,可控性不 ...
随机推荐
- JsonPath小结
在查看DHC Assertions 模块说明的时候,无意间发现assert模块中JsonBody使用了 JSON Path ,兴趣使然,看了下,发现是类似解析xml用到的 XPath.通过路径来获取j ...
- Android WebView中软键盘会遮挡输入框相关问题
要想实现这样的软键盘出现的时候会自己主动把输入框的布局顶上去的效果,须要设置输入法的属性,有下面两种设置方式: 一.在java代码中设置例如以下: getWindow().setSo ...
- MFC带标题栏的窗口和不带标题栏的窗口最大化
原文链接: http://blog.csdn.net/smartgps2008/article/details/7741223 不带标题栏的窗口最大化: 第一种情况:覆盖任务栏 ShowWindow( ...
- 跟我学SharePoint 2013视频培训课程——签出、签入文档(9)
课程简介 第9天,怎样在SharePoint 2013中签出.签入文档 视频 SharePoint 2013 交流群 41032413
- WPF学习总结1:INotifyPropertyChanged接口的作用
在代码中经常见到这个接口,它里面有什么?它的作用是什么?它和依赖属性有什么关系? 下面就来总结回答这三个问题. 1.这个INotifyPropertyChanged接口里就一个PropertyChan ...
- pbr若干概念
pbr基于辐射传输理论,最基本的一个观点是:一切皆光源--任何一个面元既是光能接收器,也是光能发射器. 光通(flux):单位时间内通过某一面积的光能,单位W(瓦特),用表示. 可见,光通其实就是功率 ...
- CentOS 7 安装以及配置
http://blog.csdn.net/qzc295919009/article/details/42708653
- Error:Cause: org/gradle/api/publication/maven/internal/DefaultMavenFactory Android
首先,要看一下自己的项目使用 “Gradle版本” 接着要看一下项目根目录的build.gradle文件中的“dependencies”的 classpath 'com.github.dcendent ...
- vivado中设置多线程编译
VIVADO中一个run编译时支持的线程数如下表:(综合时一般是2线程) Place Route Windows默认 2 2 Linux默认 4 4 Windows开启maxThreads=8 4 4 ...
- [100]tar命令打包(排除目录或文件)
在linux中可以用tar打包目录以方便传输or备份,我们先来看一个例子 Linux下tar命令exclude选项排除指定文件或目录 test 文件夹有如下文件 [root@lee ~]# ll te ...