通过拖动将商品添加到购物车效果代码实例

javascript购物车详解实现购物车完整功能(附效果图,完整代码) 我们肯定都很熟悉商品购物车这一功能,每当我们在某宝某东上购买商品的时候,看中了哪件商品,就会加入购物车中,最后结算。购物车这一功能,方便消费者对商品进行管理,可以添加商品,删除商品,选中购物车中的某一项或几项商品,最后商品总价也会随着消费者的操作随着变化。 阅读详情

分享一段代码实例,它实现了通过拖动,将商品添加到购物车的功能。

代码实例如下:

001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
021
022
023
024
025
026
027
028
029
030
031
032
033
034
035
036
037
038
039
040
041
042
043
044
045
046
047
048
049
050
051
052
053
054
055
056
057
058
059
060
061
062
063
064
065
066
067
068
069
070
071
072
073
074
075
076
077
078
079
080
081
082
083
084
085
086
087
088
089
090
091
092
093
094
095
096
097
098
099
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<title>通过拖动将商品添加到购物车效果</title>
<style>
* {
  margin: 0;
  padding: 0;
}
li {
  list-style: none;
  float: left;
  width: 200px;
  border: 1px #000 solid;
  margin: 30px;
}
li{
  height: 160px;
  width: 200px;
}
p {
  height: 20px;
  border-bottom: 1px #333 dashed;
}
.div1 {
  height: 360px;
  border: 1px gray solid;
  margin: 130px auto;
  position: relative;
  overflow: hidden;
}
.div2 {
  border: 1px #000 solid;
  height: 300px;
  margin-top: 120px;
  clear: both;
}
.box1 {
  float: left;
  width: 200px;
  text-align: center;
}
.box2 {
  float: left;
  width: 200px;
  text-align: center;
}
.box3 {
  float: left;
  width: 200px;
  text-align: center;
}
.allMoney {
  float: right;
}
</style>
<script>
window.onload = function() {
  var aLi = document.getElementsByTagName('li');
  var oDiv = document.getElementsByClassName('div2')[0];
  var obj = {};
  var iNum = 0;
  var allMoney = null;
  for (var index = 0; index < aLi.length; index++) {
    aLi[index].ondragstart = function (ev) {
      var aP = this.getElementsByTagName('p');
      ev.dataTransfer.setData('title', aP[0].innerHTML);
      ev.dataTransfer.setData('money', aP[1].innerHTML);
      ev.dataTransfer.setDragImage(this, 0, 0);
    };
    oDiv.ondragover = function(ev) {
      ev.preventDefault();
    }
    oDiv.ondrop = function(ev) {
      ev.preventDefault();
      var Ltitle = ev.dataTransfer.getData('title');
      var Lmoney = ev.dataTransfer.getData('money');
      if (!obj[Ltitle]) {
        var oP = document.createElement('p');
        var oSpan = document.createElement('span');
        oSpan.className = 'box1';
        oSpan.innerHTML = 1;
        oP.appendChild(oSpan);
        var oSpan = document.createElement('span');
        oSpan.className = 'box2';
        oSpan.innerHTML = Ltitle;
        oP.appendChild(oSpan);
        var oSpan = document.createElement('span');
        oSpan.className = 'box3';
        oSpan.innerHTML = Lmoney;
        oP.appendChild(oSpan);
        oDiv.appendChild(oP);
        obj[Ltitle] = 1;
      } else {
        var aBox1 = document.getElementsByClassName('box1');
        var aBox2 = document.getElementsByClassName('box2');
        for (var index = 0; index < aBox2.length; index++) {
          if (aBox2[index].innerHTML == Ltitle) {
            aBox1[index].innerHTML = parseInt(aBox1[index].innerHTML) + 1;
          }
        }
      }
      if (!allMoney) {
        allMoney = document.createElement('div');
        allMoney.className = 'allMoney';
      }
      iNum += parseInt(Lmoney);
      allMoney.innerHTML = '合计:' + iNum + '¥';
      oDiv.appendChild(allMoney);
    }
  }
}  
</script>
</head>
<body>
  <div class="div1">
    <ul>
      <li draggable="true">
        <p>javascript高级程序设计</p>
        <p>78¥</p>
      </li>
      <li draggable="true">
        <p>你不知道的javascript</p>
        <p>26¥</p>
      </li>
      <li draggable="true">
        <p>精通javascript</p>
        <p>35¥</p>
      </li>
      <li draggable="true">
        <p>JavaScript权威指南</p>
        <p>120¥</p>
      </li>
      <li draggable="true">
        <p>深入浅出Node.js</p>
        <p>36¥</p>
      </li>
    </ul>
  </div>
  <div class="div2">
    <p>
      <span class="box1">数量</span>
      <span class="box2">书名</span>
      <span class="box3">单价</span>
    </p>
  </div>
</body>
</html>

Vuex的使用 实现添加购物车,购物车商品数量加减 以及 IScroll 和 lazyload的使用 知识点: IScroll 实现拖动下滑效果 lazyload实现懒加载效果 Vuex 的使用 加入购物车,购物车的数量加减 商品页面 goods/Index.vue组件 显示所有商品列表,用 IScroll 实现拖动下滑效果, 用 lazyload 实现懒加载效果 <template> <div class="box" @touchmove.prevent> ... 阅读详情

相关推荐

web前端高级--简易图片拖动(模仿购物车)

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>HTML中元素(图片)的拖动</title> <style type="text/css"> .goodsList{ width:550px; ...

一条咸鱼的博客 833

vue实现pc端的购物车功能

vue + 原生input 实现购物车选择按钮 + 修改原生input样式 作者最近在工作中遇到了购物车模块的实现(现阶段是实习生),作者习惯了站在巨人的肩膀上开发,在使用组件方面颇有一番心得体会。在工作当中也是用的如鱼得水,乐在其中。最近我司要开发一个商城,在里面就遇到了麻烦,遇到了原生的input,实现一个购物车功能,当时作者拿到任务后是很懵逼的状态,完全没有思路,不知道究竟怎么实现,这也是站...

fu18889708485的博客 1669

Axure常用交互效果二——拖动效果

拖动效果的交互设计原理是动态面板和移动的组合应用,再此基础上可以扩展出很多交互效果,例如垂直拖动、水平拖动、延时拖动等,在应用场景中适用于菜单的滑动/拖动、内页、长图等方面,在大型交互设计中也发挥着重要作用,例如车辆轨迹、车辆位置、滚动条、电子屏等等。我们将菜单向右拖动,回到初始位置,正好是向右滑动的极限!初始位置,正好是向右拖动的阈值!我们向左拖动,直到在窗口中显示完菜单的最后一项,观察这时的X坐标:-240 这就表示当我们向左拖动时,到达这个位置就是最低的阈值,那么我们向左拖动的阈值就是-240。

BenLeiQiang的博客 3827

【代码解析】代码解析之添加购物车(1)

这段代码定义了一个名为 add 的方法,它接收一个 ShoppingCart 的对象,返回值是 R 类型。设置查询条件,查找与套餐 ID 匹配的购物车记录。设置查询条件,查找与菜单ID 匹配的购物车记录。设置查询条件,查找属于当前用户的购物车记录。如果菜品 ID 为空,则表示添加的是套餐。返回成功的响应,包含更新后的购物车对象。获取购物车中要添加的商品(菜品)的ID。这是一段来自瑞吉外卖的添加购物车方法。如果菜品不为空,表示添加的是菜品。指定当前是哪个用户的购物车数据。

m0_67930426的博客 1285

实现网页购物车功能的JavaScript拖拽实例

本文还有配套的精品资源,点击获取 简介:本实例展示了如何使用JavaScript实现用户通过鼠标拖动商品图片直接添加到购物车的电商网站功能,提升购物体验。通过监听鼠标事件、操作DOM、进行坐标计算、数据存储、实现动画效果、运用事件委托和状态管理技术,开发者可以创建高互动性的网页功能,改善用户体验。 1. JavaScript基础与网页交互 1.1 JavaS...

weixin_42608318的博客 1106

HTML5点击添加商品购物车代码.rar

HTML5点击添加商品购物车代码基于Bootstrap jQuery制作,点击商品添加购物车,累计计价等功能。

详谈简略式购物车代码

我所写的这个购物车代码已经有人发布过了 但我学的时候有些地方并不是很理解,我花了一段时间思考后,便来谈谈我对其的理解 首先,我们需要思考购物车是什么 购物车是用来装商品的,而商品有很多,其又有各自的属性,如:价格,数量,名称等。 那么我们就可以把购物车看成一个容器,来装这些商品,由于我目前所学的知识有限,便把他定义为数组,像这样 Goodsmodel[] goodscar=new Goodsmodel[100]

m0_75278009的博客 1221

简单购物车模块源码(基于.net平台开发)

主要功能 电子商务网站中购物车功能是否合理及安全,将直接影响网站的的发展。本实例中允许游客浏览商品,并查看商品信息,但不允许购物。只有登录的用户才可以进行购物。 注意事项 (1)用户登录后才能进入后台,否则无法对后台进行操作。 (2)首页面中,单击该页面下“进入后台”超链接,进入后台主页面。 单击“继续购物”导航按钮,继续购买商品。 (3)单击“结账”导航按钮,对当前购物车中的商品进行结算。 (4)单击“清空购物车”导航按钮,将当前购物车中的商品全部清除。 (5)单击“进入后台”超链接,对商品信息进行添加操作

简单实现将商品加入购物车(初级)

【代码】简单实现将商品加入购物车(初级)

m0_71293166的博客 819

网上购物车系统(购物车的详细实现过程源码)

里面有完整的购物车系统的功能,非常详细!

购物车代码

index.html jQuery HTML5添加到购物车代码

android可拖动的购物车效果(含点击放入购物车动画代码)

由于项目需要,做了一个可以移动的购物车控件,已经点击添加到购物车的动画效果.动画效果在列表中也是可以使用的 一.可以拖动的购物车 1.主要是通过WindowManager添加和删除自定义的LiearLayout实现,显示和隐藏购物车. 我这里使用的是FIRST_APPLICATION_WINDOW (应用程序窗口),就是在程序里某个activity启动的时候可以显示出 来,跳转到appli

MR.Q的博客 2015

HTML5点击添加商品购物车代码 v1.0

这个插件使用了HTML5的新特效:storage ,就是游览器数据库的功能,这跟之前把数据存在cookies里面原理是相识的,这样的好处在于用户刷新页面,数据还在,,又不需要跟后端进行数据交

html5实现商品拖拽到购物车效果/drag

描述:从商品列表拖动商品到购物车之后,购物车将会增加一个商品,同时这个商品在商品列表中不会消失。如果购物车列表已经存在这个商品,则此次操作无效。 主界面: 代码: <!DOCTYPE html> <html> <head> <title>购物车</title> <style type="text/css"> .dra...

qq_42515626的博客 3874

【记录】游戏体验报告怎么写(自我成长篇)

2019年3月更新: 这个倒是不用推翻,我个人虽然写的东西还是有一些偏差的,但是“表哥”说的倒是没毛病的,这篇主要是为了记录用,具体的干货也有,都在图片里,请自行提取 =====18年初原答案 作为一个游戏策划新人,游戏分析可能抓不到点子上,试着总结记录一下游戏体验报告分析的成长(因为水平不同,视野可能也不一样,也许之后几年回头看这些东西都是小儿科或者是错误的,所以只写出当下的想...

eat_human的博客 6万+

保姆级教程:用+86手机号成功注册Discord的三种亲测方法(附节点选择技巧)

本文提供了三种经过验证的方法,帮助用户使用+86手机号成功注册Discord,包括号码格式调整、网络环境优化和设备组合方案。同时详细解析了'手机号无效'报错的深层原因,并附上节点选择技巧,确保注册流程顺利。

weixin_42683394的博客 1923

微信小程序:购物车总结(商品左右联动)

微信小程序开发之购物车总结 之前开发小程序也是一头雾水,也走了很多的坑今天写出来给大家分享一下开发过程中所走的弯路,加以总结,点滴积累,供大家参考,也希望大佬们指正。 说起购物车那也的有商品列表,列表中的有商品的种类,价格(及优惠价格),数量,之前的项目中的业务逻辑中带商品剩余的概念,所以在开发过程中的,用户在加减选择商品的时候,还得考虑商品的剩余数量,样式的问题一直让人很烦人,整理了一番也能...

奔波儿灞07的博客 4986

Keil5保姆级安装指南:从破解到STM32开发环境配置(附常见错误解决方案)

本文提供Keil5从安装到STM32开发环境配置的完整指南,包含破解步骤、常见错误解决方案及多芯片支持配置。详细讲解环境预检、核心安装、许可证管理及高效开发环境设置,帮助开发者快速搭建嵌入式开发平台。特别针对安装和卸载过程中的关键问题提供专业解决方案。

weixin_30369041的博客 126

鼠标拖动层效果(产品拖动到购物车效果)

在几年前曾经看到过产品拖动到购物车的鼠标拖动效果,当时觉得很酷,不知道这种效果是怎么做出来的,偶然中发现了一种解决的方法,虽然懒人萱还没有将此鼠标拖动效果应用到项目当中,但是我想做个小型的购物系统还是很容易实现的。如图所示: 产品拖动到购物车的鼠标拖动效果 鼠标拖动后购物车内的变化懒人萱只是做了一个简单的Demo,如果和复杂的购物系统相结合可能会有难度,要在现在代码的基础上做些改动,因...

weixin_30457881的博客 118

Qt软件开发-Qt编译zlib完成文件压缩解压(win10)

在软件开发中进行有需求需要将生成的一些文件打包上传到服务器,或者从服务器下载压缩包下来内部解压。或者自己做一些打包工具,那么使用zlib开源就可以很方便的完成。接下来介绍在zlib在windows下如何利用Qt进行编译,调用,介绍mingw、msvc,32/64位编译办法,完成zip文件打包生成例子。可以单文件压缩打包,多文件压缩打包,目录压缩打包等等。

2217

决策变量乘积项的线性化

介绍了决策变量相乘情况下的线性化,并用案例进行线性化演示,其中针对连续变量相乘的情况介绍了McCormick包络的近似线性化方法

Linshaodan520的博客 1845

HTML 5的拖放API实现购物车拖放效果

1、结果展示的拖曳效果: 2、代码如下: <div class="goodsBox" ondrop="drop(event)" ondragover="allowDrop(event)"> <h2>商品列表</h2> <hr> <img src="img/one.jpg" id="img1" draggable="tru...

cherish_hyl的博客 1055

在 MATLAB/Simulink 中构建一个固定地面站天线指向控制系统的完整仿真模型

在卫星通信系统中,地面站天线负责与在轨卫星建立高增益、高稳定性的通信链路。对于固定地面站(如卫星测控站、深空站、VSAT主站),天线必须具备高精度指向能力,以确保波束始终对准卫星。然而,卫星(尤其是低轨卫星)在天空中快速移动,地面站天线必须实时跟踪其轨迹。此外,环境扰动(风载、热变形、机械误差)也会导致指向偏差。因此,设计一个高精度、高鲁棒性的天线指向控制系统(Antenna Pointing Control System)至关重要。本文将手把手教你如何在中构建一个固定地面站天线指向控制系统。

amy_mhd的博客 134

php中购物车结算代码,PHP_php购物车实现代码,ShopCar.php 复制代码 代码如下: & - phpStudy...

php购物车实现代码ShopCar.php复制代码 代码如下:class Shopcar{//商品列表public $productList=array();/**** @param unknown_type $product 传进来的商品* @return true 购物车里面没有该商品*/public function checkProduct($product){for($i=0;$ipro...

weixin_39945871的博客 191

基于DeepFashion2数据集的服装检测系统:YOLOv11实现与UI界面开发

80万张高质量服装图片13个服装类别:短袖上衣、长袖上衣、短袖外套、长袖外套、背心、短裤、长裤、短裙、长裙、袜子、帽子、鞋、包包每张图片包含边界框、分割掩码、landmarks等标注多样化的场景:商业图片、街拍图片、消费者图片更高效的Backbone网络改进的特征金字塔网络(FPN)自适应训练样本分配策略更精确的损失函数以下是YOLOv11的模型定义:python复制下载# 模型参数self.nc = nc # 类别数。

YOLO 455

YOLOv8 | 损失函数改进,最新提出的Shape-IoU,有效涨点

作为检测器定位分支的重要组成,边框回归损失在目标检测任务中发挥巨大作用。现有的边框回归方法,通常考虑了GT框与预测框之间的几何关系,通过使用边框间的相对位置与相对形状等计算损失,而忽略了边框其自身的形状与尺度等固有属性对边框回归的影响。为了弥补现有研究的不足,本文提出聚焦边框自身形状与尺度的边框回归方法。首先我们对边框回归特性进行分析,得出边框自身形状因素与尺度因素会对回归结果产生影响。

kay_545 1915
上一篇: 鼠标虚滑过选项卡切换效果代码实例
下一篇: js二级导航菜单代码实例
Return_KB
博客等级 码龄9年 23粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值