jQuery实现飞入购物车功能

要实现的效果:

思路:点击商品,图片就会飞入购物车,不但变小,而且加入到购物车后消失 了,不但如此,商品的图片还在,所以我们使用克隆的方法,加入到购物车后清除购物车即可,然后购物车+1
首先获取商品图片的位置及大小,并放到body上(否则飞入的时候看不到效果),然后获取购物车的方位,最后使用动画效果实现飞入效果。
注意:怎么找商品的图片,先找父元素,再从父元素下找图片的位置
前提准备:
html部分:

<div id="dpros">
        <div class="ditem">
            <div class="dpic"><img src="img/1.jpg" /></div>
            <div class="dprice">¥3499.00</div>
            <div class="dInfor">LG 49LF5400-CA 49寸IPS硬屏富贵招财铜钱设计</div>
            <div class="dbtn"><a href="javascript:;">加入购物车</a></div>
        </div>
        <div class="ditem">
            <div class="dpic"><img src="img/2.jpg" /></div>
            <div class="dprice">¥3499.00</div>
            <div class="dInfor">Hisense/海信 LED50T1A 海信电视官方旗舰店</div>
            <div class="dbtn"><a href="javascript:;">加入购物车</a></div>
        </div>
        <div class="ditem">
            <div class="dpic">
              <img src="img/3.jpg" />
            </div>
            <div class="dprice">¥3499.00</div>
            <div class="dInfor">LG 49LF5400-CA 49寸IPS硬屏富贵招财铜钱设计</div>
            <div class="dbtn"><a href="javascript:;">加入购物车</a></div>
        </div>
        <div class="ditem">
            <div class="dpic"><img src="img/1.jpg" /></div>
            <div class="dprice">¥3499.00</div>
            <div class="dInfor">LG 49LF5400-CA 49寸IPS硬屏富贵招财铜钱设计</div>
            <div class="dbtn"><a href="javascript:;">加入购物车</a></div>
        </div>
        <div class="ditem">
            <div class="dpic"><img src="img/2.jpg" /></div>
            <div class="dprice">¥3499.00</div>
            <div class="dInfor">Hisense/海信 LED50T1A 海信电视官方旗舰店</div>
            <div class="dbtn"><a href="javascript:;">加入购物车</a></div>
        </div>
        <div class="ditem">
            <div class="dpic"><img src="img/3.jpg" /></div>
            <div class="dprice">¥3499.00</div>
            <div class="dInfor">LG 49LF5400-CA 49寸IPS硬屏富贵招财铜钱设计</div>
            <div class="dbtn"><a href="javascript:;">加入购物车</a></div>
        </div>
    </div>
    <div id="dcar">
        <div id="dprocount">0</div>
    </div>

css部分:

*{
    padding:0px;
    margin:0px;
    font-family:"微软雅黑";
}
a{
    text-decoration:none;/*取消超链接的样式*/
}
.ditem{
    width:220px;
    height:352px;
    border:solid 1px #ccc;
    float:left;
    margin:0px 5px;
    font-size:14px;
    margin-top:10px;
}
#dpros{
    width:750px;
}
.dprice{
    height:30px;
    width:100%;
    text-align:center;
    color:#f00;
    font-size:20px;
    font-weight:900;
}
.dbtn a{
    /*margin-top:10px;*/
    width:150px;
    height:36px;
    background-color:#ff6a00;
    display:block;
    text-align:center;
    line-height:36px;
    color:#fff;
    font-size:20px;
    margin:10px auto;
    border-radius:12px;
}
#dcar{
    top:300px;
    position:absolute;

    right:0px;
    width:72px;
    height:63px;
    background-image:url("../img/car.jpg");
}
#dprocount{
    width:20px;
    height:20px;
    background-color:#f00;
    color:#fff;
    font-size:12px;
    border-radius:100%;
    text-align:center;
    line-height:20px;
}

jQuery部分:重点

var iCount = 0; //购物车的变量,用来增加购物车的数量的临时变量
$(function(){
    $(".dbtn").click(function(){ //点击“加入购物车”触发时事件
        iCount++;  //点击一次就+1
        var addImg = $(this).parent().find(".dpic").find("img");  //找到该商品的图片
        var cloneImg = addImg.clone();  //对该图片进行克隆
        cloneImg.css({        //克隆的样式
            "width": "250px",
            "height": "250px",
            "position":"absolute",        //绝对定位
            "left":addImg.offset().left,  //该图片的left位置
            "top":addImg.offset(),top,    //该图片的top位置
            "z-index":"200",              //层级,越大越在上
             "opacity":"0.5"              //透明度  半透明
        });

        //克隆到body上的购物车位置
        cloneImg.appendTo($("body")).animate({
            "width":"50px",  //克隆后的宽
            "height":"50px",  //克隆后的宽
            "left":$("#dcar").offset().left,  //克隆后的left位置  购物车
            "top": $("#dcar").offset().top,   //克隆后的left位置  购物车
        },1000,function(){      //克隆后
            $("#dprocount").html(iCount);   //购物车上的数 +1
            $(this).remove(); //清空购物车  不清除图片会叠加
        });
    });
});

下载链接:链接:https://pan.baidu.com/s/17VyaK8vAuBsrHPCDl5dFLw 密码:v820

原文地址:http://blog.51cto.com/13534640/2126744

时间: 2024-10-29 13:34:57

jQuery实现飞入购物车功能的相关文章

飞入购物车功能

最近开发无形的系统,做飞入购物车的功能 抛物线飞入购物车 引用插件http://www.jq22.com/jquery-info4560 $(function() { var offset = $("#end").offset(); //结束的地方的元素 $(".btn-smb").click(function(event){ //是$(".btn-smb")这个元素点击促发的 开始动画的位置就是这个元素的位置为起点 var addcar = $

jQuery实现一个简单的购物车功能

最近由于工作需要的原因,开始系统学习jQuery的知识,然后跟着一个视频教程做了一个购物车的功能,现总结如下. 第一步:准备HTML页面,代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.

jQuery 复制节点的元素实现添加到购物车功能

描述: 用户点击左边div中的商品,对应商品会自动添加到右面的div中,类似电子商城中的添加到购物车功能. 主要用到了jquery中的复制节点功能,基本原理是首先获取点击的元素,然后将相应信息进行克隆,然后添加到右面的div中. 效果如果: show you code: <!doctype html> <html> <head> <meta charset="utf-8"> <title>jquery test</tit

简单3步 js使用cookie实现的购物车功能[原创]

引入JQuery.js支持 加入JQuery.Cookie.js,代码如下 1 jQuery.cookie = function(name, value, options) { 2 if (typeof value != 'undefined') { // name and value given, set cookie 3 options = options || {}; 4 if (value === null) { 5 value = ''; 6 options.expires = -1;

Android 购物车功能的实现

首先,众所周知,ListView是Android最常用的控件,可以说是最简单的控件,也可以说是最复杂的控件. 作为一个Android初级开发者,可能会简单的ListView展示图文信息. 作为一个有一定项目开发经验的Android开发者来说,可能会遇到ListView的列表项中存在各种按钮的需求. 需求最多的就是购物车功能.想必大家都用过某宝某东客户端APP吧 ,就是那个购物车的功能. -------------------------------------------------------

jQuery实战的常用功能

最近看了<jQuery实战第二版>有所得,写下这篇随笔,这篇随笔主要介绍jQuery中的常用功能. jQuery是一个兼容多浏览器的javascript库,核心理念是write less,do more(写得更少,做得更多).jQuery在2006年1月由美国人John Resig在纽约的barcamp发布,吸引了来自世界各地的众多JavaScript高手加入,由Dave Methvin率领团队进行开发.如今,jQuery已经成为最流行的javascript库,在世界前10000个访问最多的网

使用jQuery实现返回顶部功能

很多网站上都有返回顶部的效果,本文阐述如何使用jquery实现返回顶部按钮. 首先需要在顶部添加如下html元素: <p id="back-to-top"><a href="#top"><span></span>返回顶部</a></p> 其中a标签指向锚点top,可以在顶部防止一个<a name="top"></a>的锚点,这样在浏览器不支持js时也可

从零开始学习jQuery (十) jQueryUI常用功能实战

原文:从零开始学习jQuery (十) jQueryUI常用功能实战 本系列文章导航 从零开始学习jQuery (一) 开天辟地入门篇 从零开始学习jQuery (二) 万能的选择器 从零开始学习jQuery (三) 管理jQuery包装集 从零开始学习jQuery (四) 使用jQuery操作元素的属性与样式 从零开始学习jQuery (五) 事件与事件对象 从零开始学习jQuery (六) jQuery中的Ajax 从零开始学习jQuery (七) jQuery动画-让页面动起来! 从零开始

session实现购物车功能

购物车功能是生活中经常使用的,这里以fruit表为例,做一个简单的购物车: 首先要将fruit表显示出来: <?php session_start();?> <table width="100%" border="1" cellpadding="0" cellspacing="0"> <tr> <td>代号</td> <td>名称</td> &