轻松学习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 相关文章推荐
javascript Array 数组常用方法
Apr 05 Javascript
jQuery插件jPaginate实现无刷新分页
May 04 Javascript
JS 通过系统时间限定动态添加 select option的实例代码
Jun 09 Javascript
jQuery实现对象转为url参数的方法
Jan 11 Javascript
bootstrap table使用入门基本用法
May 24 Javascript
10个经典的网页鼠标特效代码
Jan 09 Javascript
在vue中实现点击选择框阻止弹出层消失的方法
Sep 15 Javascript
vue学习笔记之给组件绑定原生事件操作示例
Feb 27 Javascript
easyUI 实现的后台分页与前台显示功能示例
Jun 01 Javascript
Node.js 中判断一个文件是否存在
Aug 24 Javascript
JS轮播图的实现方法2
Aug 25 Javascript
js实现简单的随机点名器
Sep 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
php json_encode奇怪问题说明
2011/09/27 PHP
thinkphp验证码显示不出来的解决方法
2014/03/29 PHP
ThinkPHP打开验证码页面显示乱码的解决方法
2014/12/18 PHP
PHP基本语法实例总结
2016/09/09 PHP
thinkPHP5框架auth权限控制类与用法示例
2018/06/12 PHP
PHP实现数组和对象的相互转换操作示例
2019/03/20 PHP
Javascript Math ceil()、floor()、round()三个函数的区别
2010/03/09 Javascript
用jquery写的一个万年历(自写)
2014/01/20 Javascript
JQuery实现的按钮倒计时效果
2015/12/23 Javascript
Angular中ng-bind和ng-model的区别实例详解
2017/04/10 Javascript
深入浅析JavaScript中的RegExp对象
2017/09/18 Javascript
浅谈PDF.js使用心得
2018/06/07 Javascript
React组件内事件传参实现tab切换的示例代码
2018/07/04 Javascript
jQuery实现的老虎机跑动效果示例
2018/12/29 jQuery
如何利用ES6进行Promise封装总结
2019/02/11 Javascript
微信小程序textarea层级过高的解决方法
2019/03/04 Javascript
python刷投票的脚本实现代码
2014/11/08 Python
浅谈Python的Django框架中的缓存控制
2015/07/24 Python
python合并已经存在的sheet数据到新sheet的方法
2018/12/11 Python
创建Django项目图文实例详解
2019/06/06 Python
Python hashlib模块的使用示例
2020/10/09 Python
CSS3正方体旋转示例代码
2013/08/08 HTML / CSS
基于HTML5 Canvas 实现商场监控实例详解
2017/11/20 HTML / CSS
html5开发之viewport使用
2013/10/17 HTML / CSS
html5生成柱状图(条形图)效果的实例代码
2016/03/25 HTML / CSS
瑞典轮胎在线:Tirendo.se
2018/06/21 全球购物
英国专业美容产品在线:Mylee(从指甲到脱毛)
2020/07/06 全球购物
PHP数据运算类型都有哪些
2013/11/05 面试题
美术毕业生求职信
2014/02/25 职场文书
运动会开幕式主持词
2014/03/28 职场文书
公司离职证明标准样本
2014/10/05 职场文书
电影红河谷观后感
2015/06/11 职场文书
国富论读书笔记
2015/06/26 职场文书
清明节随笔
2015/08/15 职场文书
JavaScript嵌入百度地图API的最详细方法
2021/04/16 Javascript
基于Redis位图实现用户签到功能
2021/05/08 Redis