轻松学习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 初体验(建议学习jquery)
Apr 25 Javascript
jQuery DIV弹出效果实现代码
Jul 03 Javascript
jQuery原生的动画效果
Jul 10 Javascript
JS实现单击输入框弹出选择框效果完整实例
Dec 14 Javascript
jQuery实现Table表格隔行变色及高亮显示当前选择行效果示例
Feb 14 Javascript
JS和jQuery通过this获取html标签中的属性值(实例代码)
Sep 11 jQuery
Vue子组件向父组件通信与父组件调用子组件中的方法
Jun 22 Javascript
Vue组件教程之Toast(Vue.extend 方式)详解
Jan 27 Javascript
element-ui多文件上传的实现示例
Apr 10 Javascript
vue实现给div绑定keyup的enter事件
Jul 31 Javascript
js实现搜索提示框效果
Sep 05 Javascript
express异步函数异常捕获示例详解
Nov 30 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之数组(遍历顺序)  Laruence原创
2012/06/13 PHP
php rsa加密解密使用详解
2015/01/14 PHP
php生成图片验证码
2015/06/09 PHP
thinkphp5修改view到根目录实例方法
2019/07/02 PHP
javascript 无提示关闭窗口脚本
2009/08/17 Javascript
js删除所有的cookie的代码
2010/11/25 Javascript
基于Jquery的开发个代阴影的对话框效果代码
2011/07/28 Javascript
js带前后翻页的图片切换效果代码分享
2015/09/08 Javascript
JavaScript BASE64算法实现(完美解决中文乱码)
2017/01/10 Javascript
在javaScript中检测数据类型的几种方式小结
2017/03/04 Javascript
VUE 全局变量的几种实现方式
2018/08/22 Javascript
使用jquery模拟a标签的click事件无法实现跳转的解决
2018/12/04 jQuery
react中Suspense的使用详解
2019/09/01 Javascript
Vue打包部署到Nginx时,css样式不生效的解决方式
2020/08/03 Javascript
python解决汉字编码问题:Unicode Decode Error
2017/01/19 Python
python装饰器深入学习
2018/04/06 Python
基于Python 装饰器装饰类中的方法实例
2018/04/21 Python
python print 按逗号或空格分隔的方法
2018/05/02 Python
python 读取文本文件的行数据,文件.splitlines()的方法
2018/07/12 Python
python编程使用协程并发的优缺点
2018/09/20 Python
pandas 数据结构之Series的使用方法
2019/06/21 Python
python安装sklearn模块的方法详解
2020/11/28 Python
UGG雪地靴荷兰官网:UGG荷兰
2016/09/09 全球购物
动物科学专业毕业生的自我评价
2013/11/29 职场文书
环保专业大学生职业规划设计
2014/01/10 职场文书
简历中的自我评价怎么写
2014/01/29 职场文书
给老师的检讨书
2014/02/11 职场文书
求职信模板
2014/05/23 职场文书
应届毕业生自荐书
2014/06/18 职场文书
学校党的群众路线教育实践活动总结报告
2014/07/03 职场文书
扶贫办主任查摆“四风”问题个人对照检查材料思想汇报
2014/10/02 职场文书
小学中队活动总结
2015/05/11 职场文书
如何写新闻稿
2015/07/18 职场文书
为什么 Nginx 比 Apache 更牛逼
2021/03/31 Servers
java项目构建Gradle的使用教程
2022/03/24 Java/Android
Win11 Dev 预览版25174.1000发布 (附更新修复内容汇总)
2022/08/05 数码科技