基于jquery fly插件实现加入购物车抛物线动画效果,jquery.fly.js
在购物网站中,加入购物车的功能是必须的功能,有的网站在用户点击加入购物车按钮时,就会出现该商品从点击出以抛物线的动画相似加入购物车,这个功能看起来非常炫,对用户体验也有一定的提高。下面介绍基于jquery fly插件实现加入购物车抛物线动画效果。使用jquery.fly插件很方便时实现抛物线动画加入购物车的功能
一、插件下载
插件官方:https://github.com/amibug/fly
二、载入jQuery库文件和jquery.fly.min.js插件
<script src=
"jquery.js"
></script>
<script src=
"jquery.fly.min.js"
></script>
三、加入购物车动画飞入效果实例
我们要实现的效果是:当点击“加入购物车”按钮后,商品图片会变成一个缩小的圆球,以按钮为起点,向右侧以抛物线的形式飞出到右侧的购物车里。在飞出之前,我们要获取当前商品的图片,然后调用fly插件,之后的抛物线轨迹都是由fly插件完成,我们只需定义起点和终点左边以及结束后销毁之前的动画。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | < div class="container"> < div class="demo clearfix"> < div class="per"> < img src="images/1.jpg" width="180" height="240" alt="图片二"/> < div class="title">aaa</ div > < a href="javascript:void(0);" class="button orange addcart">加入购物车</ a > </ div > < div class="per"> < img src="images/2.jpg" width="180" height="240" alt="图片二"/> < div class="title">bbb</ div > < a href="javascript:void(0);" class="button orange addcart">加入购物车</ a > </ div > </ div > </ div > < div class="cart-sidebar"> < div class="cart"> < i id="icon-cart"></ i > < span >购物车</ span > </ div > </ div > < div id="tip">成功加入购物车!</ div > < script > $(function() { var offset = $("#icon-cart").offset(); $(".addcart").click(function(event) { var img = $(this).parent().children('img').attr('src'); //获取当前点击图片链接 var flyer = $('< img class="flyer-img" src="' + img + '">'); //抛物体对象 flyer.fly({ start: { left: event.pageX,//抛物体起点横坐标 top: event.pageY //抛物体起点纵坐标 }, end: { left: offset.left + 10,//抛物体终点横坐标 top: offset.top + 10, //抛物体终点纵坐标 }, onEnd: function() { $("#tip").show().animate({width: '200px'},300).fadeOut(500);////成功加入购物车动画效果 this.destory(); //销毁抛物体 } }); }); }); < script > |
$(window).resize(function() {
$('a[nctype="add_cart"]').click(function() {
flyToCart($(this));
});
});
function flyToCart($this) {
var rtoolbar_offset_left = $("#rtoolbar_cart").offset().left;
var rtoolbar_offset_top = $("#rtoolbar_cart").offset().top-$(document).scrollTop();
var img = $this.parents('.browse-goods:first').find('img:first').attr('src');
var data_gid = $this.attr('data-gid');
var flyer = $('<img class="u-flyer" src="'+img+'" style="z-index:999">');
flyer.fly({
start: {
left: $this.offset().left-450,
top: $this.offset().top-$(document).scrollTop()
},
end: {
left: rtoolbar_offset_left,
top: rtoolbar_offset_top,
width: 0,
height: 0
},
onEnd: function(){
addcart(data_gid,1,'');
flyer.remove();
}
});
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现