实现购物车结算功能:批量/全部删除,全选,单价/总价,数量增减,页面隐藏/显示

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style type="text/css">
        .mouse_color{
            background-color: #cccccc;
        }
        .num{
            width: 50px;
        }
        a{
            text-decoration: none;
        }
        #btn1,#btn2{
            color:white;
            width: 100px;
            float: right;
            border: solid red;
            margin-right: 88px;
            background-color: #ff3b30;
        }
    </style>
    <script src="../jquery-1.11.1/jquery-2.1.0.js"></script>
    <script src="../angular-1.5.5/angular.js"></script>
    <script type="text/javascript">
        $(function () {
            // 鼠标移到行的颜色:光标在表格上移动,当前行变色;( mousemove或mouseover )
            $("#tab tr").mouseover(function () {
                $(this).addClass("mouse_color");
            });
            // 鼠标移出行的颜色:离开当前行,颜色恢复
            $("#tab tr").mouseout(function () {
                $(this).removeClass("mouse_color");
            });
        });
    </script>
    <script>
        var app = angular.module("myApp",[]);
        app.controller("myCtrl",function ($scope) {
            //1. 声明数据对象,初始化商品信息,数据自拟且不低于四条
            $scope.Products = [
                {
 name:"qq",price:12.90,number:1,totalPrice:12.90,state:false},
                {
 name:"wx",price:23.90,number:1,totalPrice:23.90,state:false},
                {
 name:"cn",price:99.90,number:1,totalPrice:99.90,state:false},
                {
 name:"us",price:2.90,number:1,totalPrice:2.90,state:false},
                {
 name:"jp",price:0.90,number:1,totalPrice:0.90,state:false}
            ];
            //2. 减少数量函数
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很高兴为您提供购物车功能的HTML代码实现,以下是完整的HTML代码: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>购物车</title> </head> <body> <h1>购物车</h1> <table> <thead> <tr> <th><input type="checkbox" id="check-all"></th> <th>商品名称</th> <th>单价</th> <th>数量</th> <th>小计</th> <th>操作</th> </tr> </thead> <tbody> <tr> <td><input type="checkbox" class="check-item"></td> <td>商品1</td> <td>10</td> <td><button class="reduce-btn">-</button><span class="count">1</span><button class="add-btn">+</button></td> <td class="subtotal">10</td> <td><button class="delete-btn">删除</button></td> </tr> <tr> <td><input type="checkbox" class="check-item"></td> <td>商品2</td> <td>20</td> <td><button class="reduce-btn">-</button><span class="count">1</span><button class="add-btn">+</button></td> <td class="subtotal">20</td> <td><button class="delete-btn">删除</button></td> </tr> <tr> <td><input type="checkbox" class="check-item"></td> <td>商品3</td> <td>30</td> <td><button class="reduce-btn">-</button><span class="count">1</span><button class="add-btn">+</button></td> <td class="subtotal">30</td> <td><button class="delete-btn">删除</button></td> </tr> </tbody> <tfoot> <tr> <td colspan="6"> <button id="delete-all-btn">删除选中商品</button> <span>总计:<span id="total-count">0</span>件商品,总额:<span id="total-price">0</span>元</span> </td> </tr> </tfoot> </table> <script> var checkAll = document.getElementById('check-all') var checkItems = document.getElementsByClassName('check-item') var reduceBtns = document.getElementsByClassName('reduce-btn') var addBtns = document.getElementsByClassName('add-btn') var deleteBtns = document.getElementsByClassName('delete-btn') var deleteAllBtn = document.getElementById('delete-all-btn') var totalCount = document.getElementById('total-count') var totalPrice = document.getElementById('total-price') // 全选 checkAll.onclick = function() { for (var i = 0; i < checkItems.length; i++) { checkItems[i].checked = this.checked } getTotal() } // 单选 for (var i = 0; i < checkItems.length; i++) { checkItems[i].onclick = function() { var flag = true for (var j = 0; j < checkItems.length; j++) { if (!checkItems[j].checked) { flag = false break } } checkAll.checked = flag getTotal() } } // 增加数量 for (var i = 0; i < addBtns.length; i++) { addBtns[i].onclick = function() { var countInput = this.parentNode.querySelector('.count') var count = parseInt(countInput.innerText) count++ countInput.innerText = count getSubtotal(this.parentNode.parentNode) getTotal() } } // 减少数量 for (var i = 0; i < reduceBtns.length; i++) { reduceBtns[i].onclick = function() { var countInput = this.parentNode.querySelector('.count') var count = parseInt(countInput.innerText) if (count > 1) { count-- countInput.innerText = count getSubtotal(this.parentNode.parentNode) } getTotal() } } // 计算小计 function getSubtotal(tr) { var price = tr.querySelector('td:nth-child(3)').innerText var count = tr.querySelector('.count').innerText var subtotal = parseInt(price) * parseInt(count) tr.querySelector('.subtotal').innerText = subtotal } // 删除商品 for (var i = 0; i < deleteBtns.length; i++) { deleteBtns[i].onclick = function() { var tr = this.parentNode.parentNode tr.parentNode.removeChild(tr) getTotal() } } // 删除选中商品 deleteAllBtn.onclick = function() { for (var i = 0; i < checkItems.length; i++) { if (checkItems[i].checked) { var tr = checkItems[i].parentNode.parentNode tr.parentNode.removeChild(tr) i-- } } getTotal() } // 计算总计和总额 function getTotal() { var totalCountNum = 0 var totalPriceNum = 0 for (var i = 0; i < checkItems.length; i++) { if (checkItems[i].checked) { var tr = checkItems[i].parentNode.parentNode var count = parseInt(tr.querySelector('.count').innerText) var price = parseInt(tr.querySelector('.subtotal').innerText) totalCountNum += count totalPriceNum += price } } totalCount.innerText = totalCountNum totalPrice.innerText = totalPriceNum } </script> </body> </html> ``` 该购物车功能实现了以下功能: 1. 全选/取消全选; 2. 单选/取消单选; 3. 增加/减少商品数量; 4. 计算商品小计; 5. 删除单个商品; 6. 删除选中商品; 7. 计算总计和总额。 您可以在浏览器中打开该HTML文件,进行购物车功能的使用和测试。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值