轻松学习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 相关文章推荐
DD_belatedPNG,IE6下PNG透明解决方案(国外)
Dec 06 Javascript
IE6/7 and IE8/9/10(IE7模式)依次隐藏具有absolute或relative的父元素和子元素后再显示父元素
Jul 31 Javascript
javascript检测对象中是否存在某个属性判断方法小结
May 19 Javascript
jQuery中使用each处理json数据
Apr 23 Javascript
JQuery复制DOM节点的方法
Jun 11 Javascript
详解AngularJS过滤器的使用
Mar 11 Javascript
JavaScript 对象详细整理总结
Sep 29 Javascript
JavaScript中定时控制Throttle、Debounce和Immediate详解
Nov 17 Javascript
vue2.0页面前进刷新回退不刷新的实现方法
Jul 31 Javascript
vue-router传递参数的几种方式实例详解
Nov 13 Javascript
layui 表单标签的校验方法
Sep 04 Javascript
Javascript Dom元素获取和添加详解
Sep 24 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
php 5.3.5安装memcache注意事项小结
2011/04/12 PHP
深入探讨:Nginx 502 Bad Gateway错误的解决方法
2013/06/03 PHP
fetchAll()与mysql_fetch_array()的区别详解
2013/06/05 PHP
PHP调用C#开发的dll类库方法
2014/07/28 PHP
php中字符查找函数strpos、strrchr与strpbrk用法
2014/11/18 PHP
php生成唯一数字id的方法汇总
2015/11/18 PHP
如何通过View::first使用Laravel Blade的动态模板详解
2017/09/21 PHP
PHP后台备份MySQL数据库的源码实例
2019/03/18 PHP
js function定义函数使用心得
2010/04/15 Javascript
基于jQuery滑动杆实现购买日期选择效果
2015/09/15 Javascript
js实现的简单图片浮动效果完整实例
2016/05/10 Javascript
JS基于递归实现倒计时效果的方法
2016/11/26 Javascript
JavaScript基于扩展String实现替换字符串中index处字符的方法
2017/06/13 Javascript
angular内置provider之$compileProvider详解
2017/09/27 Javascript
json对象及数组键值的深度大小写转换问题详解
2018/03/30 Javascript
vue项目搭建以及全家桶的使用详细教程(小结)
2018/12/19 Javascript
Python的Flask框架应用调用Redis队列数据的方法
2016/06/06 Python
Python3学习urllib的使用方法示例
2017/11/29 Python
python实现媒体播放器功能
2018/02/11 Python
python定时检测无响应进程并重启的实例代码
2019/04/22 Python
Python安装Flask环境及简单应用示例
2019/05/03 Python
Python深拷贝与浅拷贝用法实例分析
2019/05/05 Python
Django import export实现数据库导入导出方式
2020/04/03 Python
美国在线购买空气净化器、除湿器、加湿器网站:AllergyBuyersClub
2021/03/16 全球购物
简单而又朴实的个人求职信分享
2013/12/12 职场文书
优秀毕业生自我鉴定
2014/02/11 职场文书
《宋庆龄故居的樟树》教学反思
2014/04/07 职场文书
祖国在我心中演讲稿500字
2014/05/04 职场文书
亮剑精神演讲稿
2014/05/23 职场文书
篮球比赛拉拉队口号
2014/06/10 职场文书
生产车间标语
2014/06/11 职场文书
经典毕业生求职信
2014/07/12 职场文书
活着观后感
2015/06/03 职场文书
JS中一些高效的魔法运算符总结
2021/05/06 Javascript
Python实现简繁体转换
2021/06/07 Python
win11无法登录onedrive错误代码0x8004def7怎么办 ?
2022/04/05 数码科技