轻松学习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中的ready函数冲突的解决方法
May 17 Javascript
JSON辅助格式化处理方法
Mar 26 Javascript
JavaScript及jquey实现多个数组的合并操作
Sep 06 Javascript
javascript弹出拖动窗口
Aug 11 Javascript
AngularJS中的$watch(),$digest()和$apply()区分
Apr 04 Javascript
Node.js开启Https的实践详解
Oct 25 Javascript
Vue.js教程之计算属性
Nov 11 Javascript
JavaScript数据结构之单链表和循环链表
Nov 28 Javascript
windows下更新npm和node的方法
Nov 30 Javascript
JS+WCF实现进度条实时监测数据加载量的方法详解
Dec 19 Javascript
在Layui中实现开关按钮的效果实例
Sep 29 Javascript
Vue.js桌面端自定义滚动条组件之美化滚动条VScroll
Dec 01 Vue.js
浅析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与SQL注入攻击[一]
2007/04/17 PHP
让CodeIgniter数据库缓存自动过期的处理的方法
2014/06/12 PHP
PHP实现UTF-8文件BOM自动检测与移除实例
2014/11/05 PHP
深入剖析PHP中printf()函数格式化使用
2016/05/23 PHP
laravel 关联关系遍历数组的例子
2019/10/10 PHP
js图片自动切换效果处理代码
2013/05/07 Javascript
jquery索引在使用中的一些困惑
2013/10/24 Javascript
jquery默认校验规则整理
2014/03/24 Javascript
javascript实现网页字符定位的方法
2015/07/14 Javascript
详解jQuery移动页面开发中的ui-grid网格布局使用
2015/12/03 Javascript
js原生实现FastClick事件的实例
2016/11/20 Javascript
js eval函数使用,js对象和字符串互转实例
2017/03/06 Javascript
jQuery插件HighCharts绘制2D金字塔图效果示例【附demo源码下载】
2017/03/09 Javascript
详解ECMAScript6入门--Class对象
2017/04/27 Javascript
JS创建Tag标签的方法详解
2017/06/09 Javascript
ES6中Array.includes()函数的用法
2017/09/20 Javascript
js实现上传并压缩图片效果
2018/01/10 Javascript
详解puppeteer使用代理
2018/12/27 Javascript
JavaScript常见鼠标事件与用法分析
2019/01/03 Javascript
JS实现拖拽元素时与另一元素碰撞检测
2020/08/27 Javascript
electron踩坑之dialog中的callback解决
2020/10/06 Javascript
Python ORM框架SQLAlchemy学习笔记之映射类使用实例和Session会话介绍
2014/06/10 Python
python计算文本文件行数的方法
2015/07/06 Python
详解python中sort排序使用
2019/03/23 Python
详解Python3 pickle模块用法
2019/09/16 Python
TensorFlow查看输入节点和输出节点名称方式
2020/01/04 Python
PyQt5 如何让界面和逻辑分离的方法
2020/03/24 Python
关于Django Models CharField 参数说明
2020/03/31 Python
thinkphp5 redis缓存新增方法实例讲解
2021/03/24 PHP
《美丽的黄昏》教学反思
2014/02/28 职场文书
志愿者活动总结范文
2014/04/26 职场文书
公务员岗前培训心得体会
2016/01/08 职场文书
公文写作指导之倡议书!
2019/07/03 职场文书
html实现弹窗的实例
2021/06/09 HTML / CSS
详解Oracle块修改跟踪功能
2021/11/07 Oracle
中国古风插画师排行榜:夏达第一,第三是阴阳师姑获鸟皮肤创作者
2022/03/18 国漫