jQuery EasyUI使用教程:創(chuàng)建一個(gè)拖放的購(gòu)物車
Kendo UI for jQuery——?jiǎng)?chuàng)建現(xiàn)代Web應(yīng)用程序的最完整UI庫(kù)!查看詳情>>>
如果你能利用你的web應(yīng)用程序很容易地實(shí)現(xiàn)簡(jiǎn)單的拖放,那么你一定知道一些特別的東西,使用jQuery EasyUI,我們能在web應(yīng)用程序中簡(jiǎn)單地實(shí)現(xiàn)拖放功能。
在本教程中,我們將為你展示如何創(chuàng)建一個(gè)用戶可以拖放他們想要購(gòu)買的商品到購(gòu)物車的頁(yè)面。購(gòu)物車中的物品和價(jià)格將會(huì)更新。
在頁(yè)面上顯示商品:
正如你在上面代碼中看到的一樣,我們添加了一個(gè)ul元素,其中包含了一些li元素來顯示商品。每個(gè)商品的名字和價(jià)格屬性都包含在p元素中。
創(chuàng)建購(gòu)物車:
Shopping Cart
Name Quantity Price Total: $0
Drop here to add to cart
我們使用數(shù)據(jù)網(wǎng)格來顯示購(gòu)物車的物品。
拖動(dòng)復(fù)制的商品:
$('.item').draggable({ revert:true, proxy:'clone', onStartDrag:function(){ $(this).draggable('options').cursor = 'not-allowed'; $(this).draggable('proxy').css('z-index',10); }, onStopDrag:function(){ $(this).draggable('options').cursor='move'; } });
請(qǐng)注意,我們將可拖動(dòng)屬性'proxy'設(shè)置為'clone',因此拖動(dòng)元素將有復(fù)制的效果。
在購(gòu)物車中放置選中的商品:
$('.cart').droppable({ onDragEnter:function(e,source){ $(source).draggable('options').cursor='auto'; }, onDragLeave:function(e,source){ $(source).draggable('options').cursor='not-allowed'; }, onDrop:function(e,source){ var name = $(source).find('p:eq(0)').html(); var price = $(source).find('p:eq(1)').html(); addProduct(name, parseFloat(price.split('$')[1])); } }); var data = {"total":0,"rows":[]}; var totalCost = 0; function addProduct(name,price){ function add(){ for(var i=0; i++){ var row = data.rows[i]; if (row.name == name){ row.quantity += 1; return; } } data.total += 1; data.rows.push({ name:name, quantity:1, price:price }); } add(); totalCost += price; $('#cartcontent').datagrid('loadData', data); $('div.cart .total').html('Total: $'+totalCost); }
當(dāng)放置好該商品之后,我們首先得到商品的名稱和價(jià)格,然后調(diào)用'addProduct'函數(shù)來更新購(gòu)物車。
下載該EasyUI示例:easyui-shopping-demo.zip
購(gòu)買最新正版授權(quán)!"咨詢?cè)诰€客服"