轻松学习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 window.opener的用法分析
Apr 07 Javascript
Colortip基于jquery的信息提示框插件在IE6下面的显示问题修正方法
Dec 06 Javascript
js 显示base64编码的二进制流网页图片
Apr 04 Javascript
jquery制作属于自己的select自定义样式
Nov 23 Javascript
AngularJs 60分钟入门基础教程
Apr 03 Javascript
浅谈javascript中的Function和Arguments
Aug 30 Javascript
js实现倒计时效果(小于10补零)
Mar 08 Javascript
js 显示日期时间的实例(时间过一秒加1)
Oct 25 Javascript
vue结合axios与后端进行ajax交互的方法
Jul 06 Javascript
vue 录制视频并压缩视频文件的方法
Jul 27 Javascript
javascript面向对象三大特征之继承实例详解
Jul 24 Javascript
js实现上传图片到服务器
Apr 11 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
我的论坛源代码(三)
2006/10/09 PHP
PHP+mysql+ajax轻量级聊天室实现方法详解
2016/10/17 PHP
深入聊聊Array的sort方法的使用技巧.详细点评protype.js中的sortBy方法
2007/04/12 Javascript
一款Jquery 分页插件的改造方法(服务器端分页)
2011/07/11 Javascript
使用javascript实现ListBox左右全选,单选,多选,全请
2013/11/07 Javascript
javascript确认框的三种使用方法
2013/12/17 Javascript
js无刷新操作table的行和列
2014/03/27 Javascript
jquery让指定的元素闪烁显示的方法
2015/03/17 Javascript
基于Bootstrap的UI扩展 StyleBootstrap
2016/06/17 Javascript
详解jquery easyui之datagrid使用参考
2016/12/05 Javascript
vue.js国际化 vue-i18n插件的使用详解
2017/07/07 Javascript
react build 后打包发布总结
2018/08/24 Javascript
VUE引入第三方js包及调用方法讲解
2019/03/01 Javascript
js+HTML5 canvas 实现简单的加载条(进度条)功能示例
2019/07/16 Javascript
js对象数组和对象的使用实例详解
2019/08/27 Javascript
通过实例解析chrome如何在mac环境中安装vue-devtools插件
2020/07/10 Javascript
Vue 按照创建时间和当前时间显示操作(刚刚,几小时前,几天前)
2020/09/10 Javascript
[00:15]TI9地铁玩家打卡
2019/08/11 DOTA
一个计算身份证号码校验位的Python小程序
2014/08/15 Python
python实现数据库跨服务器迁移
2018/04/12 Python
python数字图像处理之骨架提取与分水岭算法
2018/04/27 Python
Php多进程实现代码
2018/05/07 Python
python语言元素知识点详解
2019/05/15 Python
Python基础之列表常见操作经典实例详解
2020/02/26 Python
python Matplotlib模块的使用
2020/09/16 Python
css3媒体查询中device-width和width的区别详解
2020/03/27 HTML / CSS
销售员自我评价怎么写
2013/09/19 职场文书
数控个人求职信范文
2014/02/03 职场文书
违反工作纪律检讨书
2014/02/15 职场文书
保险经纪人求职信
2014/03/11 职场文书
行政监察建议书
2014/05/19 职场文书
医生学习党的群众路线教育实践活动心得体会
2014/11/03 职场文书
涪陵白鹤梁导游词
2015/02/09 职场文书
国庆节主题班会
2015/08/15 职场文书
公司晚会主持词
2019/04/17 职场文书
导游词之无锡丝业博物馆
2019/11/12 职场文书