轻松学习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来定位
Feb 20 Javascript
javascript-简单的日历实现及Date对象语法介绍(附图)
May 30 Javascript
javascript弹出页面回传值的方法
Jan 28 Javascript
jquery实现点击其他区域时隐藏下拉div和遮罩层的方法
Dec 23 Javascript
浅析JavaScript作用域链、执行上下文与闭包
Feb 01 Javascript
Bootstrap3.0建站教程(一)之bootstrap表单元素排版
Jun 01 Javascript
AngularJS 输入验证详解及实例代码
Jul 28 Javascript
纯JavaScript 实现flappy bird小游戏实例代码
Sep 27 Javascript
jQuery获取Table某列的值(推荐)
Mar 03 Javascript
详解vue-cli项目中用json-sever搭建mock服务器
Nov 02 Javascript
使用 Javascript 实现浏览器推送提醒功能的示例
Nov 03 Javascript
原生JS实现拖拽效果
Dec 04 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合并数组中相同元素的方法
2014/11/13 PHP
PHP中的empty、isset、isnull的区别与使用实例
2019/03/22 PHP
laravel config文件配置全局变量的例子
2019/10/13 PHP
PHP pthreads v3下的Volatile简介与使用方法示例
2020/02/21 PHP
如何让页面在打开时自动刷新一次让图片全部显示
2012/12/17 Javascript
js 获取input点选按钮的值的方法
2014/04/14 Javascript
jquery使用ul模拟select实现表单美化的方法
2015/08/18 Javascript
jQuery1.9.1源码分析系列(十六)ajax之ajax框架
2015/12/04 Javascript
JQuery validate插件验证用户注册信息
2016/05/11 Javascript
jQuery ajax中使用confirm,确认是否删除的简单实例
2016/06/17 Javascript
Validform表单验证总结篇
2016/10/31 Javascript
浅谈angular2的http请求返回结果的subcribe注意事项
2017/03/01 Javascript
详谈js遍历集合(Array,Map,Set)
2017/04/06 Javascript
JavaScript实现求最大公共子串的方法
2018/02/03 Javascript
vuejs选中当前样式active的实例
2018/08/22 Javascript
对Vue2 自定义全局指令Vue.directive和指令的生命周期介绍
2018/08/30 Javascript
vue随机验证码组件的封装实现
2020/02/19 Javascript
js实现点赞效果
2020/03/16 Javascript
[00:34]TI7不朽珍藏III——纯金地穴编织者饰品展示
2017/07/15 DOTA
Python的print用法示例
2014/02/11 Python
详解Python中类的定义与使用
2017/04/11 Python
Python利用flask sqlalchemy实现分页效果
2020/08/02 Python
解决Pycharm无法import自己安装的第三方module问题
2018/05/18 Python
用python打印菱形的实操方法和代码
2019/06/25 Python
Python基础之字符串操作常用函数集合
2020/02/09 Python
Sandro Paris美国官网:典雅别致的法国时尚服饰品牌
2017/12/26 全球购物
nohup的用法
2012/11/26 面试题
学生检讨书范文
2014/10/30 职场文书
工商局个人工作总结
2015/03/03 职场文书
员工辞退通知书
2015/04/17 职场文书
在校证明模板
2015/06/17 职场文书
休学证明范本
2015/06/19 职场文书
2016年社会主义核心价值观心得体会
2016/01/21 职场文书
2016年优秀教师先进事迹材料
2016/02/26 职场文书
TypeScript 使用 Tuple Union 声明函数重载
2022/04/07 Javascript
oracle设置密码复杂度及设置超时退出的功能
2022/06/28 Oracle