轻松学习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 相关文章推荐
符合标准的js表单提交的代码
Sep 13 Javascript
你的 mixin 真的兼容 ECMAScript 5 吗?
Apr 11 Javascript
JS Jquery 遍历,筛选页面元素 自动完成(实现代码)
Jul 08 Javascript
JS字符串拼接在ie中都报错的解决方法
Mar 27 Javascript
jQuery+slidereveal实现的面板滑动侧边展出效果
Mar 14 Javascript
jquery实现带渐变淡入淡出并向右依次展开的多级菜单效果实例
Aug 22 Javascript
JS控制页面跳转时未请求要跳转的地址怎么回事
Oct 14 Javascript
react.js CMS 删除功能的实现方法
Apr 17 Javascript
基于vue-cli配置lib-flexible + rem实现移动端自适应
Dec 26 Javascript
angular2中Http请求原理与用法详解
Jan 11 Javascript
使用Vue.js开发微信小程序开源框架mpvue解析
Mar 20 Javascript
VUE前后端学习tab写法实例
Aug 06 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
jQuery学习笔记之DOM对象和jQuery对象
2010/12/22 Javascript
判断是否安装flash player及当前版本的JS代码
2013/08/08 Javascript
js中Math之random,round,ceil,floor的用法总结
2013/12/26 Javascript
jQuery遍历页面所有CheckBox查看是否被选中的方法
2015/04/14 Javascript
javascript实现将文件保存到本地方法汇总
2015/07/26 Javascript
Flow之一个新的Javascript静态类型检查器
2015/12/21 Javascript
基于Javascript实现弹出页面效果
2016/01/01 Javascript
JavaScript SHA-256加密算法详细代码
2016/10/06 Javascript
微信小程序Server端环境配置详解(SSL, Nginx HTTPS,TLS 1.2 升级)
2017/01/12 Javascript
Angular 2父子组件数据传递之@Input和@Output详解 (上)
2017/07/05 Javascript
详解使用angularjs的ng-options时如何设置默认值(初始值)
2017/07/18 Javascript
Easyui和zTree两种方式分别实现树形下拉框
2017/08/04 Javascript
jQuery实现的电子时钟效果完整示例
2018/04/28 jQuery
swiper Scrollbar滚动条组件详解
2019/09/08 Javascript
JavaScript, select标签元素左右移动功能实现
2020/05/14 Javascript
[01:07]DOTA2次级职业联赛 - Fpb战队宣传片
2014/12/01 DOTA
[01:10:58]KG vs TNC 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
浅谈Python 中整型对象的存储问题
2016/05/16 Python
python3.5仿微软计算器程序
2020/03/30 Python
pandas中去除指定字符的实例
2018/05/18 Python
利用python如何在前程无忧高效投递简历
2019/05/07 Python
使用TensorFlow-Slim进行图像分类的实现
2019/12/31 Python
详解Python中的Lock和Rlock
2021/01/26 Python
Html5页面点击遮罩层背景关闭遮罩层
2020/11/30 HTML / CSS
中粮集团旗下食品网上购物网站:我买网
2016/09/22 全球购物
巴西电子产品购物网站:Saldão da Informática
2018/01/09 全球购物
Pedro官网:新加坡时尚品牌
2019/08/27 全球购物
网络工程师面试(三木通信技术有限公司)
2013/06/05 面试题
系统管理员的职责包括那些?管理的对象是什么?
2016/09/20 面试题
公务员个人自我评价分享
2013/11/06 职场文书
金融专业个人求职信范文
2013/11/28 职场文书
大学毕业感言一句话
2014/02/06 职场文书
函授毕业个人自我评价
2014/02/20 职场文书
2014年医院后勤工作总结
2014/12/06 职场文书
医学会议开幕词
2016/03/03 职场文书
使用CSS连接数据库的方式
2022/02/28 HTML / CSS