jQuery实现加入购物车飞入动画效果


Posted in Javascript onMarch 14, 2015

jQuery实现加入购物车飞入动画效果

HTML

首先载入jQuery库文件和jquery.fly.min.js插件。

<script src="jquery.js"></script> 

<script src="jquery.fly.min.js"></script>

接着,将商品信息html结构布置好,本例中,我们用四个商品并排布置,每个商品box中包括有商品图片、价格、名称以及加入购物车按钮等信息。

<div class="box"> 

    <img src="images/lg.jpg" width="180" height="180"> 

    <h4>¥<span>3499.00</span></h4> 

    <p>LG 49LF5400-CA 49寸IPS硬屏富贵招财铜钱设计</p> 

    <a href="#" class="button orange addcar">加入购物车</a> 

</div> 

<div class="box"> 

    <img src="images/hs.jpg" width="180" height="180"> 

    <h4>¥<span>3799.00</span></h4> 

    <p>Hisense/海信 LED50T1A 海信电视官方旗舰店</p> 

    <a href="#" class="button orange addcar">加入购物车</a> 

</div> 

<div class="box"> 

    <img src="images/cw.jpg" width="180" height="180"> 

    <h4>¥<span>¥3999.00</span></h4> 

    <p>Skyworth/创维 50E8EUS 8核4Kj极清酷开系统智能液晶电视</p> 

    <a href="#" class="button orange addcar">加入购物车</a> 

</div> 

<div class="box"> 

    <img src="images/ls.jpg" width="180" height="180"> 

    <h4>¥<span>6969.00</span></h4> 

    <p>乐视TV Letv X60S 4核1080P高清3D安卓智能超级电视</p> 

    <a href="#" class="button orange addcar">加入购物车</a> 

</div>

然后,我们还需要在页面的右侧加上购物车以及提示信息。

<div class="m-sidebar"> 

    <div class="cart"> 

        <i id="end"></i> 

        <span>购物车</span> 

    </div> 

</div> 

<div id="msg">已成功加入购物车!</div>

CSS
我们使用CSS先将商品排列美化,然后设置右侧购物车样式,具体请看代码:
 

.box{float:left; width:198px; height:320px; margin-left:5px; border:1px solid #e0e0e0; text-align:center} 

.box p{line-height:20px; padding:4px 4px 10px 4px; text-align:left} 

.box:hover{border:1px solid #f90} 

.box h4{line-height:32px; font-size:14px; color:#f30;font-weight:500} 

.box h4 span{font-size:20px} 

.u-flyer{display: block;width: 50px;height: 50px;border-radius: 50px;position: fixed;z-index: 9999;} 

.m-sidebar{position: fixed;top: 0;right: 0;background: #000;z-index: 2000;width: 35px;height: 100%;font-size: 12px;color: #fff;} 

.cart{color: #fff;text-align:center;line-height: 20px;padding: 200px 0 0 0px;} 

.cart span{display:block;width:20px;margin:0 auto;} 

.cart i{width:35px;height:35px;display:block; background:url(car.png) no-repeat;} 

#msg{position:fixed; top:300px; right:35px; z-index:10000; width:1px; height:52px; line-height:52px; font-size:20px; text-align:center; color:#fff; background:#360; display:none}

jQuery

我们要实现的效果是,当用户点击“加入购物车”按钮时,当前商品图片会变成一个缩小的圆球,以按钮为起点,向右侧以抛物线的形式飞出,最后落入页面右侧的购物车里,并提示操作成功。在飞出之前,我们要获取当前商品的图片,然后调用fly插件,之后的抛物线轨迹都是由fly插件完成,我们只需定义起点和终点等参数即可。

<script> 

$(function() { 

    var offset = $("#end").offset(); 

    $(".addcar").click(function(event){ 

        var addcar = $(this); 

        var img = addcar.parent().find('img').attr('src'); 

        var flyer = $('<img class="u-flyer" src="'+img+'">'); 

        flyer.fly({ 

            start: { 

                left: event.pageX, //开始位置(必填)#fly元素会被设置成position: fixed 

                top: event.pageY //开始位置(必填) 

            }, 

            end: { 

                left: offset.left+10, //结束位置(必填) 

                top: offset.top+10, //结束位置(必填) 

                width: 0, //结束时宽度 

                height: 0 //结束时高度 

            }, 

            onEnd: function(){ //结束回调 

                $("#msg").show().animate({width: '250px'}, 200).fadeOut(1000); //提示信息 

                addcar.css("cursor","default").removeClass('orange').unbind('click'); 

                this.destory(); //移除dom 

            } 

        }); 

    }); 

}); 

</script>

复制上面的代码,保存并运行即可看到效果,Fly插件的项目官网地址是:https://github.com/amibug/fly,值得一提的是,IE10以下需要添加以下js:

<script src="requestAnimationFrame.js"></script>

以上就是本文的全部内容了,希望大家能够喜欢

Javascript 相关文章推荐
ASP中用Join和Array,可以加快字符连接速度的代码
Aug 22 Javascript
JS限制Textarea文本域字符个数的具体实现
Aug 02 Javascript
JavaScript判断变量是否为空的自定义函数分享
Jan 31 Javascript
JavaScript模拟实现继承的方法
Mar 30 Javascript
原生Javascript插件开发实践
Jan 09 Javascript
从零开始做一个pagination分页组件
Mar 15 Javascript
AngularJS 验证码60秒倒计时功能的实现
Jun 05 Javascript
jQuery 实现鼠标画框并对框内数据选中的实例代码
Aug 29 jQuery
利用jQuery实现简单的拖曳效果实例代码
Oct 20 jQuery
微信小程序把百度地图坐标转换成腾讯地图坐标过程详解
Jul 10 Javascript
vue循环数组改变点击文字的颜色
Oct 14 Javascript
浅析vue-cli3配置webpack-bundle-analyzer插件【推荐】
Oct 23 Javascript
jQuery插件实现大图全屏图片相册
Mar 14 #Javascript
jQuery实现精美的多级下拉菜单特效
Mar 14 #Javascript
jQuery实现菜单式图片滑动切换
Mar 14 #Javascript
jQuery.Highcharts.js绘制柱状图饼状图曲线图
Mar 14 #Javascript
jQuery实现跨域iframe接口方法调用
Mar 14 #Javascript
Flash图片上传组件 swfupload使用指南
Mar 14 #Javascript
jQuery插件jFade实现鼠标经过的图片高亮其它变暗
Mar 14 #Javascript
You might like
CI框架中cookie的操作方法分析
2014/12/12 PHP
Yii rules常用规则示例
2016/03/15 PHP
Yii基于CActiveForm的Ajax数据验证用法示例
2016/07/14 PHP
php数据库的增删改查 php与javascript之间的交互
2017/08/31 PHP
PHP中递归的实现实例详解
2017/11/14 PHP
PHP使用SMTP邮件服务器发送邮件示例
2018/08/28 PHP
TP5框架实现签到功能的方法分析
2020/04/05 PHP
js操作select控件的几种方法
2010/06/02 Javascript
JQuery 常用方法和事件详细介绍
2013/04/18 Javascript
js获取html文件的思路及示例
2013/09/17 Javascript
javascript full screen 全屏显示页面元素的方法
2013/09/27 Javascript
JavaScript严格模式禁用With语句的原因
2014/10/20 Javascript
JavaScript正则表达式替换字符串中图片地址(img src)的方法
2017/01/13 Javascript
微信扫码支付零云插件版实例详解
2017/04/26 Javascript
input 标签实现输入框带提示文字效果(两种方法)
2017/10/09 Javascript
微信小程序实现简单跑马灯效果
2020/05/26 Javascript
Node.js API详解之 repl模块用法实例分析
2020/05/25 Javascript
使用 UniApp 实现小程序的微信登录功能
2020/06/09 Javascript
Python的ORM框架SQLAlchemy入门教程
2014/04/28 Python
python小技巧之批量抓取美女图片
2014/06/06 Python
python+pyqt实现12306图片验证效果
2017/10/25 Python
python3+PyQt5重新实现QT事件处理程序
2018/04/19 Python
python自动截取需要区域,进行图像识别的方法
2018/05/17 Python
python实现定时提取实时日志程序
2018/06/22 Python
TFRecord文件查看包含的所有Features代码
2020/02/17 Python
CSS3+Sprite实现僵尸行走动画特效源码
2016/01/27 HTML / CSS
html5中canvas学习笔记1-画板的尺寸与实际显示尺寸
2013/01/06 HTML / CSS
英国护肤品购物网站:Beauty Expert
2016/08/19 全球购物
印度低票价航空公司:GoAir
2017/10/11 全球购物
Solid & Striped官网:美国泳装品牌
2019/06/19 全球购物
国贸类专业毕业生的求职信分享
2013/12/08 职场文书
《孔子拜师》教学反思
2014/02/24 职场文书
社区食品安全实施方案
2014/03/28 职场文书
竞选劳动委员演讲稿
2014/04/28 职场文书
健康家庭事迹材料
2014/05/02 职场文书
2015初中团支部工作总结
2015/07/21 职场文书