zoukankan      html  css  js  c++  java
  • 购物车结算

    购物车结算样式:

    <!DOCTYPE html>
    <html lang="ch-zn">
    <head>
        <meta charset="UTF-8">
        <title>moban</title>
    
        <style>
        html,body,h1,h2,h3,h4,h5,h6,div,dl,dt,dd,ul,ol,li,p,blockquote,pre,hr,figure,table,caption,th,td,form,fieldset,legend,input,button,textarea,menu{margin:0;padding:0;}
        header,footer,section,article,aside,nav,hgroup,address,figure,figcaption,menu,details{display:block;}
        table{border-collapse:collapse;border-spacing:0;}
        caption,th{text-align:left;font-weight:normal;}
        html,body,fieldset,img,iframe,abbr{border:0;}
        i,cite,em,var,address,dfn{font-style:normal;}
        [hidefocus],summary{outline:0;}
        li{list-style:none;}
        h1,h2,h3,h4,h5,h6,small{font-size:100%;}
        sup,sub{font-size:83%;}
    
        table{
             1000px;
            border-collapse: collapse;
            border-color: #930;
            margin: 50px auto 0;
            user-select: none;
        }
        table tr td{
             250px;
            height: 100px;
            text-align: center;
        }
        table tr.title td{
            height: 50px;
            background: #c36;
            color: #fff;
            font-weight: bold;
            font-size: 14px;
        }
        table tr td img{
            display: block;
             auto;
            height: 70px;
            margin: 0 auto;
        }
        table tr td.number span{
            display: inline-block;
            font-size: 12px;
            text-align: center;
        }
        table tr td.number span.down,table tr td.number span.add{
             30px;
            height: 30px;
            background: #ddd;
            line-height: 30px;
            cursor: pointer;
            font-weight: bold;
            font-size: 14px;
        }
        table tr td.number span.num{
             50px;
            height: 28px;
            border-top: 1px solid #ddd;
            border-bottom: 1px solid #ddd;
            line-height: 28px;
            color: #c36;
        }
        .box{
             1000px;
            height: 50px;
            background: #c36;
            margin: 10px auto;
        }
        .box p{
            float: right;
             250px;
            height: 50px;
            line-height: 50px;
            color: #fff;
            font-size: 14px;
        }
        .box p span{
            color: #f4e5a9;
            font-size: 16px;
            font-weight: bold;
        }
    
    
        </style>
    
    </head>
    <body>
    
        <table border="1">
            <thead></thead>
            <tbody>
                <tr class="title">
                    <td>商品</td>
                    <td>单价</td>
                    <td>数量</td>
                    <td>小计</td>
                </tr>
                <tr>
                    <td><img src="https://afeifeifei.github.io/class-demo/js-demo/2-08-03/img/shop1.jpg" alt=""></td>
                    <td class="danjia">8</td>
                    <td class="number"><span class="down">-</span><span class="num">0</span><span class="add">+</span></td>
                    <td class="price">0</td>
                </tr>
                <tr>
                    <td><img src="https://afeifeifei.github.io/class-demo/js-demo/2-08-03/img/shop2.jpg" alt=""></td>
                    <td class="danjia">10</td>
                    <td class="number"><span class="down">-</span><span class="num">0</span><span class="add">+</span></td>
                    <td class="price">0</td>
                </tr>
                <tr>
                    <td><img src="https://afeifeifei.github.io/class-demo/js-demo/2-08-03/img/shop3.jpg" alt=""></td>
                    <td class="danjia">12.5</td>
                    <td class="number"><span class="down">-</span><span class="num">0</span><span class="add">+</span></td>
                    <td class="price">0</td>
                </tr>
                <tr>
                    <td><img src="https://afeifeifei.github.io/class-demo/js-demo/2-08-03/img/shop4.jpg" alt=""></td>
                    <td class="danjia">23</td>
                    <td class="number"><span class="down">-</span><span class="num">0</span><span class="add">+</span></td>
                    <td class="price">0</td>
                </tr>
            </tbody>
        </table>
    
        <div class="box">
            <p class="totalPrice">合计费用: <span>0</span> ¥</p>
            <p class="totalNum">已选中商品: <span>0</span> 个</p>
        </div>
    
    
    
        <script src='https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.js'></script>
        <script>
            //购物车结账
            (function () {
                //整理数据,开发中学会整理数据,用数组的形式包裹
                let Price = [
                    {danjia:8,num:0},
                    {danjia:10,num:0},
                    {danjia:12,num:0},
                    {danjia:23,num:0}
                ]
                //获取标签的权限
                let Add = document.querySelectorAll(".add"),
                    Down = document.querySelectorAll(".down"),
                    AddLen = Add.length,
                    Anum = document.querySelectorAll(".num"),
                    Aprice = document.querySelectorAll(".price"),
                    Oprcie = document.querySelector(".box .totalPrice span"),
                    Onum = document.querySelector(".box .totalNum span")                
                
                //定义函数---用于HTML相关操作(封装函数)
                function change(i){
                    //html的变化
                    Anum[i].innerText = Price[i].num;
                    Aprice[i].innerText = Price[i].danjia * Price[i].num;
    
                    //通过循环,把所有的数据相加,把所有的小计价格相加
                    let tPrice = 0 , tnum = 0
                    for (let j = 0; j <AddLen; j++) {
                       tnum += Price[j].num;
                       tPrice += Price[j].danjia * Price[j].num;
                    };
                    //html的变化
                    Onum.innerText = tnum;
                    Oprcie.innerText = tPrice;
                }
                
    
                //点击事件
                for (let i = 0; i <AddLen; i++) {
                   Add[i].onclick = function(){
                        Price[i].num ++;
                        /* console.log("点击了+"); */
                        //函数执行
                        change(i);
                   }
                   Down[i].onclick = function(){
                        if(Price[i].num === 0)return;   
                        Price[i].num --;
                        /* console.log("点击了-"); */
                        //函数执行
                        change(i);
                   }
                };
    
            })();
    
        </script>
    </body>
    <!--
    笔记区域
    
    
    
    
    -->
    
    </html>

    样式展示

  • 相关阅读:
    30张图解: TCP 重传、滑动窗口、流量控制、拥塞控制
    ffmpeg rtp时间戳
    35 张图解:被问千百遍的 TCP 三次握手和四次挥手面试题
    Pinpoint 分布式系统性能监控工具
    图解正向代理、反向代理、透明代理
    实战!我用 Wireshark 让你“看见“ TCP
    IE7的增强插件:IE7Pro
    Net Core 中的HTTP协议详解
    Autofac是一个轻量级的依赖注入的框架
    关于表数据的复制插入TSQL
  • 原文地址:https://www.cnblogs.com/yhy-blog/p/14311324.html
Copyright © 2011-2022 走看看