Jquery快速构建可拖曳的购物车-DragDrop

简介:

曳功能早已经成为各个网站吸引用户的一大亮点,那有没有想过如何把拖曳功能应用到电子商务网站的购物车功能模块中呢? 这样一来,购买者只需要把自己感兴趣的商品拖曳到自己的购物车中,也可以从购物车中删除商品 同时更新购物车的总体价格和数量。

那咱们就开始实例吧,本实例并没有链接数据库读取数据来初始化Products,而是创建了一些虚拟的商品如下:

 

1、  创建Product实体类

 

public class Product

    {

        public string Code { getset;  }

        public string Name { getset; }

        public string Description { getset; }

        public double Price { getset; }

}

 

2、  构建商品List<Product>

 

public class Product

    {

        public string Code { getset;  }

        public string Name { getset; }

        public string Description { getset; }

        public double Price { getset; }

}

 

3、创建DataList并绑定List<Product>

 

<asp:DataList ID="dlProducts" RepeatColumns="3"

         RepeatDirection="Horizontal" runat="server">

 

    <ItemTemplate>

 

    <div class="productItemStyle" price='<%#  Eva l("Price") %>'

         code='<%#  Eva l("Code") %>'  id='item_<%# Container.ItemIndex + 1 %>'>

    <li>

    <%#  Eva l("Code") %>

    </li>

    <li>

    <%#  Eva l("Name") %>

    </li>

    <li>

    <%#  Eva l("Description") %>

    </li>

 

     <li>

    $<%#  Eva l("Price") %>

    </li>

    </div>

 

    </ItemTemplate>

 

    </asp:DataList>

 

private void BindData()

{

    var products = GetProducts();

 

    dlProducts.DataSource = products;

    dlProducts.DataBind();

}

 

productItemStyle 样式名称

Container.ItemIndex动态生成连续的商品编号

 

4、  生成Products Div Draggable

下载最新的Jquery JS文件及其UI文件:

<script language="javascript" type="text/javascript" src="jquery- 1.2.6 .min.js"></script>

<script language="javascript" type="text/javascript"

src="jquery-ui-personalized-1.6rc4.min.js"></script>

 

页面初始化时生成Div Draggable

 

$(document).ready(function() {

 

        $(".productItemStyle").draggable({ helper: "clone", opacity: "0.5" });

)};

 

5、创建一个DropZone

 

DropZone是购物车区域

 

$(".dropZone").droppable(

        {

            accept: ".productItemStyle",

            hoverClass: "dropHover",

            drop: function(ev, ui) {

 

                var droppedItem = ui.draggable.clone().addClass("droppedItemStyle");

 

                var productCode = droppedItem[0].attributes["code"].nod eVa lue;

                var productPrice =

                 getFormattedPrice(droppedItem[0].attributes["price"].nod eVa lue);

 

                var removeLink = document.createElement("a");

                removeLink.innerHTML = "Remove";

                removeLink.className = "deleteLink";

                removeLink.href = "#";

                removeLink.onclick = function()

                {

                    $(".dropZone").children().remove("#" + droppedItem[0].id);

                    updateTotal(productPrice * (-1));

                }

 

                droppedItem[0].appendChild(removeLink);

 

                $(this).append(droppedItem);

 

                updateTotal(productPrice);

            }

        }

        );

 

Accept参数:展示Class= productItemStyleDiv

hoverClass参数:当有Product放到DropZone时的样式

drop函数:当Product拖放到DropZone时出发的函数,此函数主要做了一个Product ItemClone,价格的计算、添加Remove按钮以及到点击Remove按钮时所触发的事件。

 

价格的计算updateTotal()函数

// update the total!

    function updateTotal(price) {

 

        total += parseFloat(price);

        $("#total").html(total.toFixed(2));

        $(".shoppingCartTotal").effect("bounce");

 

}

 

最终效果如下图:

 

 

 

英文原文地址:http://www.codeproject.com/KB/aspnet/JQueryShoppingCart.aspx


本文转自灵动生活博客园博客,原文链接:http://www.cnblogs.com/ywqu/archive/2009/11/29/1613367.html,如需转载请自行联系原作者

 

相关文章
|
JavaScript
jquery购物车增减商品数量2-修改商品小计
jquery购物车增减商品数量2-修改商品小计
127 0
jquery购物车增减商品数量2-修改商品小计
|
JavaScript
jquery购物车增减商品数量1-32
jquery购物车增减商品数量1-32
97 0
jquery购物车增减商品数量1-32
|
JavaScript Serverless
利用 jQuery 操作页面元素的方法,实现电商网站购物车页面商品数量的增加和减少操作,要求单项价格和总价随着数量的改变而改变
利用 jQuery 操作页面元素的方法,实现电商网站购物车页面商品数量的增加和减少操作,要求单项价格和总价随着数量的改变而改变
355 0
利用 jQuery 操作页面元素的方法,实现电商网站购物车页面商品数量的增加和减少操作,要求单项价格和总价随着数量的改变而改变
|
前端开发 JavaScript
Jquery商品飞入购物车动画效果实例展示
刚接手一个小玩意,值得收藏分享给大家! 《产品图片飞入购物车的jQuery动画》 无标题文档 *{ margin:0; padding:0;} .good-area{ width:200px; position:absolute; left:100px; top:50px;} .
806 0
|
JavaScript 前端开发 .NET
Jquery快速构建可拖曳的购物车-DragDrop
拖曳功能早已经成为各个网站吸引用户的一大亮点,那有没有想过如何把拖曳功能应用到电子商务网站的购物车功能模块中呢? 这样一来,购买者只需要把自己感兴趣的商品拖曳到自己的购物车中,也可以从购物车中删除商品 同时更新购物车的总体价格和数量。
796 0
|
2天前
jQuery+Slick插件实现游戏人物轮播展示切换源码
jQuery+Slick插件实现游戏人物轮播展示切换源码
23 14
|
23天前
|
JavaScript 前端开发
jQuery和CSS3滑动展开菜单按钮插件
这是一款jQuery和CSS3滑动展开菜单按钮插件。该滑动展开菜单按钮在用户点击主菜单按钮之后,子菜单以滑动的方式依次展开
60 21
|
24天前
|
JavaScript
jquery图片和pdf文件预览插件
EZView.js是一款jquery图片和pdf文件预览插件。EZView.js可以为图片和pdf格式文件生成在线预览效果。支持的文件格式有pdf、jpg、 png、jpeg、gif。
48 16