轻松学习jQuery插件EasyUI EasyUI实现拖放商品放置购物车


Posted in Javascript onNovember 30, 2015

在本文中,我们将向您展示如何创建一个启用用户拖动和放置用户想买的商品的购物车页面,购物篮中的物品和价格将更新,分享给大家,具体内容如下:

效果图:

轻松学习jQuery插件EasyUI EasyUI实现拖放商品放置购物车

具体代码如下

显示页面上的商品:

<ul class="products">
 <li>
 <a href="#" class="item">
  <img src="images/shirt1.gif"/>
  <div>
  <p>Balloon</p>
  <p>Price:$25</p>
  </div>
 </a>
 </li>
 <li>
 <a href="#" class="item">
  <img src="images/shirt2.gif"/>
  <div>
  <p>Feeling</p>
  <p>Price:$25</p>
  </div>
 </a>
 </li>
 <!-- other products -->
</ul>

正如您所看到的上面的代码,我们添加一个包含一些 <li> 元素的 <ul> 元素来显示商品。所有商品都有名字和价格属性,它们包含在<p> 元素中。
创建购物车:

<div class="cart">
 <h1>Shopping Cart</h1>
 <table id="cartcontent" style="width:300px;height:auto;">
 <thead>
  <tr>
  <th field="name" width=140>Name</th>
  <th field="quantity" width=60 align="right">Quantity</th>
  <th field="price" width=60 align="right">Price</th>
  </tr>
 </thead>
 </table>
 <p class="total">Total: $0</p>
 <h2>Drop here to add to cart</h2>
</div>

我们使用数据网格(datagrid)来显示购物篮中的物品。
拖动克隆的商品:

$('.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';
 }
});

请注意,我们把 draggable 属性的值从 'proxy' 设置为 'clone',所以拖动元素将由克隆产生。
放置选择商品到购物车中

$('.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<data.total; 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);
}

每当放置商品的时候,我们首先得到商品名称和价格,然后调用 'addProduct' 函数来更新购物篮。

EasyUI实现拖放商品放置购物车的功能就介绍到这,有了本文为大家提供的实例,相信大家应该很轻松的就可以实现拖放商品放置购物车的模块设计,谢谢大家的阅读。

Javascript 相关文章推荐
用jQuery技术实现Tab页界面之二
Sep 21 Javascript
ExtJs GridPanel简单的增删改实现代码
Aug 26 Javascript
JQuery勾选指定name的复选框集合并显示的方法
May 18 Javascript
javascript实现的简单的表单验证
Jul 10 Javascript
angularjs自定义ng-model标签的属性
Jan 21 Javascript
Angular表单验证实例详解
Oct 20 Javascript
JS 实现随机验证码功能
Feb 15 Javascript
使用原生js+canvas实现模拟心电图的实例
Sep 20 Javascript
简单了解JavaScript中常见的反模式
Jun 21 Javascript
jQuery实现checkbox全选、反选及删除等操作的方法详解
Aug 02 jQuery
基于layui的table插件进行复选框联动功能的实现方法
Sep 19 Javascript
JavaScript中this的学习笔记及用法整理
Feb 17 Javascript
浅析node连接数据库(express+mysql)
Nov 30 #Javascript
javascript编程异常处理实例小结
Nov 30 #Javascript
轻松学习jQuery插件EasyUI EasyUI实现拖动基本操作
Nov 30 #Javascript
轻松学习jQuery插件EasyUI EasyUI创建CRUD应用
Nov 30 #Javascript
javascript for-in有序遍历json数据并探讨各个浏览器差异
Nov 30 #Javascript
基于javascript如何传递特殊字符
Nov 30 #Javascript
基于js实现微信发送好友如何分享到朋友圈、微博
Nov 30 #Javascript
You might like
sphinx增量索引的一个问题
2011/06/14 PHP
php实现复制移动文件的方法
2015/07/29 PHP
php上传图片生成缩略图(GD库)
2016/01/06 PHP
Laravel的throttle中间件失效问题解决方法
2016/10/09 PHP
yii2局部关闭(开启)csrf的验证的实例代码
2017/07/10 PHP
php从数据库读取数据,并以json格式返回数据的方法
2018/08/21 PHP
PHP 对象接口简单实现方法示例
2020/04/13 PHP
Thinkphp集成抖音SDK的实现方法
2020/04/28 PHP
让js弹出窗口居前显示的实现方法
2013/07/10 Javascript
Node.js实现在目录中查找某个字符串及所在文件
2014/09/03 Javascript
详解JavaScript中this的指向问题
2017/01/20 Javascript
jQuery实现的简单对话框拖动功能示例
2018/06/05 jQuery
angularjs性能优化的方法
2018/09/05 Javascript
微信小程序实现语音识别转文字功能及遇到的坑
2019/08/02 Javascript
[01:22:10]Ti4 循环赛第二日 DK vs Empire
2014/07/11 DOTA
[01:08:30]DOTA2-DPC中国联赛 正赛 Ehome vs Elephant BO3 第一场 2月28日
2021/03/11 DOTA
Python2.7编程中SQLite3基本操作方法示例
2017/08/09 Python
python学习基础之循环import及import过程
2018/04/22 Python
在Python中使用Neo4j的方法
2019/03/14 Python
详解python 爬取12306验证码
2019/05/10 Python
在python plt图表中文字大小调节的方法
2019/07/08 Python
Python3+PyInstall+Sciter解决报错缺少dll、html等文件问题
2019/07/15 Python
Python+redis通过限流保护高并发系统
2020/04/15 Python
CSS3 伪类选择器 nth-child()说明
2010/07/10 HTML / CSS
Intimissimi德国网上商店:意大利知名内衣品牌
2018/04/03 全球购物
机械工程师求职自我评价
2013/09/23 职场文书
夜大自我鉴定
2013/10/31 职场文书
应届毕业生求职信
2013/11/30 职场文书
元旦晚会上单位领导演讲稿
2014/01/05 职场文书
党员干部承诺书
2014/03/25 职场文书
土建专业大学生自荐信范文
2014/04/09 职场文书
科长个人四风问题整改措施思想汇报
2014/10/13 职场文书
学术研讨会欢迎词
2015/01/26 职场文书
圣诞晚会主持词
2015/07/01 职场文书
2015军训通讯稿大全
2015/07/18 职场文书
靠谱准确的求职信
2019/04/02 职场文书