给出代码js html css实现一个购物车,要求 购物车包括全选复选按钮,商品名称,价格,数量,小计,删除,共选多少件商品,总计价格,其中在商品页面点击商品就可以将该商品加入购物车,将商品的信息填入购物车对应的位置

时间: 2024-01-03 20:03:42 浏览: 29
好的,我会给你提供一个简单的代码示例,实现一个基本的购物车功能。代码主要涉及到HTML、CSS、JavaScript和jQuery等知识。 HTML代码: ``` <!-- 商品页面 --> <div class="item"> <h3>商品1</h3> <p>价格:100元</p> <button class="add-to-cart" data-name="商品1" data-price="100">加入购物车</button> </div> <div class="item"> <h3>商品2</h3> <p>价格:200元</p> <button class="add-to-cart" data-name="商品2" data-price="200">加入购物车</button> </div> <!-- 购物车页面 --> <div class="cart"> <div class="cart-header"> <input type="checkbox" id="select-all" />全选 <button id="delete-selected">删除</button> </div> <div class="cart-items"> <!-- 商品信息动态生成 --> </div> <div class="cart-footer"> <p>共选<span id="total-count">0</span>件商品</p> <p>总计:<span id="total-price">0</span>元</p> <button id="checkout">结算</button> </div> </div> ``` CSS代码: ``` .cart { border: 1px solid #ccc; padding: 10px; } .cart-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; } .cart-header input[type="checkbox"] { margin-right: 10px; } .cart-items { display: flex; flex-direction: column; margin-bottom: 10px; } .cart-item { display: flex; justify-content: space-between; align-items: center; margin-bottom: 5px; } .cart-item input[type="checkbox"] { margin-right: 10px; } .cart-footer { display: flex; justify-content: space-between; align-items: center; } .cart-footer button { background-color: #f60; color: #fff; border: none; padding: 5px 10px; border-radius: 5px; cursor: pointer; } .cart-footer button:hover { background-color: #f90; } ``` JavaScript代码: ``` $(function() { // 添加商品到购物车 $('.add-to-cart').click(function() { var name = $(this).data('name'); var price = $(this).data('price'); var itemHtml = '<div class="cart-item">' + '<input type="checkbox" class="item-select" data-price="' + price + '" />' + '<span class="item-name">' + name + '</span>' + '<span class="item-price">' + price + '元</span>' + '<div class="item-quantity">' + '<button class="reduce-quantity">-</button>' + '<span class="quantity">1</span>' + '<button class="add-quantity">+</button>' + '</div>' + '<span class="item-subtotal">' + price + '元</span>' + '<button class="delete-item">删除</button>' + '</div>'; $('.cart-items').append(itemHtml); updateCart(); }); // 更新购物车信息 function updateCart() { // 更新商品数量 var count = $('.item-select:checked').length; $('#total-count').text(count); // 更新总价 var totalPrice = 0; $('.item-select:checked').each(function() { totalPrice += parseFloat($(this).data('price')) * parseInt($(this).siblings('.item-quantity').find('.quantity').text()); }); $('#total-price').text(totalPrice.toFixed(2)); } // 全选 $('#select-all').click(function() { $('.item-select').prop('checked', $(this).prop('checked')); updateCart(); }); // 单选 $('.item-select').click(function() { $('#select-all').prop('checked', $('.item-select:checked').length == $('.item-select').length); updateCart(); }); // 修改商品数量 $('.add-quantity').click(function() { var quantity = parseInt($(this).siblings('.quantity').text()); $(this).siblings('.quantity').text(quantity + 1); updateSubtotal($(this).parent()); updateCart(); }); $('.reduce-quantity').click(function() { var quantity = parseInt($(this).siblings('.quantity').text()); if (quantity > 1) { $(this).siblings('.quantity').text(quantity - 1); updateSubtotal($(this).parent()); updateCart(); } }); // 更新小计 function updateSubtotal(item) { var price = parseFloat(item.siblings('.item-price').text()); var quantity = parseInt(item.find('.quantity').text()); var subtotal = price * quantity; item.siblings('.item-subtotal').text(subtotal.toFixed(2) + '元'); } // 删除商品 $('#delete-selected').click(function() { $('.item-select:checked').parent().remove(); updateCart(); }); $('.delete-item').click(function() { $(this).parent().remove(); updateCart(); }); // 结算 $('#checkout').click(function() { alert('结算功能待实现'); }); }); ``` 以上代码仅供参考,实际使用中需要根据具体需求进行修改。

相关推荐

最新推荐

recommend-type

微信小程序实现多选框全选与取消全选功能示例

主要介绍了微信小程序实现多选框全选与取消全选功能,结合实例形式分析了微信小程序多选框功能实现、布局显示及全选、取消全选相关操作技巧,需要的朋友可以参考下
recommend-type

JS获取复选框的值,并传递到后台的实现方法

下面小编就为大家带来一篇JS获取复选框的值,并传递到后台的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
recommend-type

Android实现商城购物车功能的实例代码

最近公司项目做商城模块,需要实现购物车功能,主要实现了单选、全选,金额合计,商品删除,商品数量加减等功能,这篇文章主要介绍了Android实现商城购物车功能,需要的朋友可以参考下
recommend-type

react实现复选框全选和反选组件效果

本文实例为大家分享了react实现复选框全选和反选组件的具体代码,供大家参考,具体内容如下
recommend-type

Android Recyclerview实现多选,单选,全选,反选,批量删除的功能

本篇文章主要介绍了Android Recyclerview 实现多选,单选,全选,反选,批量删除的功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

可见光定位LED及其供电硬件具体型号,广角镜头和探测器,实验设计具体流程步骤,

1. 可见光定位LED型号:一般可使用5mm或3mm的普通白色LED,也可以选择专门用于定位的LED,例如OSRAM公司的SFH 4715AS或Vishay公司的VLMU3500-385-120。 2. 供电硬件型号:可以使用常见的直流电源供电,也可以选择专门的LED驱动器,例如Meanwell公司的ELG-75-C或ELG-150-C系列。 3. 广角镜头和探测器型号:一般可采用广角透镜和CMOS摄像头或光电二极管探测器,例如Omron公司的B5W-LA或Murata公司的IRS-B210ST01。 4. 实验设计流程步骤: 1)确定实验目的和研究对象,例如车辆或机器人的定位和导航。
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。