用html做一个购物车,能实现简单的产品数量和价格的加减就行。最后能计算出提交物品价格的总和。

用html做一个购物车,能实现简单的产品数量和价格的加减就行。最后能计算出提交物品价格的总和。,第1张

html中的购物车的增减不能直接传送到后台,可以通过ajax,在js中发送ajax

纯前端的话可以参考下面的

<!DOCTYPE html>    

<html lang="en">    

<head>    

<meta charset="UTF-8">    

<title>cart</title>    

<style type="text/css">

    body,p,a,input{

    margin: 0;

    padding: 0;

    font-size: 12px;

}

container{

    width: 100%;

}

main{

    width: 1000px;

    height: 500px;

    margin:100px auto;

}

main cart-container table{

    width: 100%;

}

main cart-container table tr{

    text-align: center;

}

main cart-container table tr:hover{

    background: rgba(128, 128, 128, 02);

}

main cart-container table table-header{

    height: 30px;

    background: #d9d9d9;

    font-size: 12em;

}

main cart-container table table-header td:first-child{

    border-left: solid 4px red;

    box-sizing: border-box;

}

main cart-container table tr td:nth-child(1),

main cart-container table tr td:nth-child(2){

    text-align: left;

}

main cart-container table tr td:nth-child(2){

    width: 52%;

}

main cart-container table tr td:nth-child(3){

    width: 12%;

}

main cart-container table tr td:nth-child(4){

    width: 12%;

}

main cart-container table tr td:nth-child(5){

    width: 12%;

}

main cart-container table tr td:last-child{

    width: 10%;

}

cart-good{

    height: 60px;

}

cart-good img{

    float: left;

    margin: 10px;

    width: 60px;

}

cart-good td p{

    margin: 10px 0px;

}

/加、减按钮/

cart-good td input[type='button']{

     width: 20px;

     height: 20px;

     background: #00f300;

     outline: none;

     border: none;

 }

cart-good td input[type='button']:disabled{

    background: grey;

}

cart-good td input[type='button']:first-child{

   margin-right: -4px;

}

cart-good td input[type='button']:last-child{

    margin-left: -4px;

}

cart-good td input[type='text']{

    width: 30px;

    height: 20px;

    outline: none;

    border: none;

    text-align: center;

}

table-footer{

    display: flex;

    justify-content: space-between;

    line-height: 40px;

}

table-footer div{

    font-size: 12em;

}

table-footer div button{

    background: red;

    width: 120px;

    height: 40px;

    color: white;

}

</style>  

</head>    

<body>    

<div class="container">    

<header></header>    

<section class="main">    

<div class="cart-container">    

<table cellspacing="0">    

<tr class="table-header">    

<td><input type="checkbox" id="chk_alla"></td>    

<td>聚美优品发货</td>    

<td>聚美价</td>    

<td>数量</td>    

<td>小计</td>    

<td>操作</td>    

</tr>    

<!--<tr class="cart-good">-->    

<!--<td><input type="checkbox" id="001"></td>-->    

<!--<td>-->    

<!--<img src="https://p2jmstaticcom/product/001/293/1293263_std/1293263_60_60jpg" alt="">-->    

<!--<p>[极速免税]PITTA MASK 口罩3枚入</p>-->    

<!--<p>型号:新版防晒款  容量:3枚入</p>-->    

<!--</td>-->    

<!--<td>8900</td>-->    

<!--<td>-->    

<!--<input type="button" value="-">-->    

<!--<input type="text" value="1">-->    

<!--<input type="button" value="+">-->    

<!--</td>-->    

<!--<td>8900</td>-->    

<!--<td><a href="#">删除</a></td>-->    

<!--</tr>-->    

</table>    

<div class="table-footer">    

<div>    

<input type="checkbox" id="chk_allb"> <label for="chk_allb">全选</label>    

<span style="margin-left: 20px">继续购物 | 清空选中商品</span>    

</div>    

<div>    

共 <span id="good_count">5</span>件商品    商品应付总额:<span id="goods_total">¥22900</span>    

<button class="btn_menu">去结算</button>    

</div>    

</div>    

</div>    

</section>    

</div>    

<script>

(function () {

    var skin_products= [

        {

            "id":"002",

            "title": "Estee Lauder 多效智妍精华霜15ml",

            "img_url": "http://p0jmstaticcom/product/003/565/3565880_std/3565880_350_350jpg",

            "price": 2490,

            "number":6,

            "acount": "520",

            "ischecked":true

        },

        {

            "id":"004",

            "title": "EsteeLauder 肌透修护洁面乳30ml",

            "img_url": "http://p4jmstaticcom/product/003/155/3155764_std/3155764_350_350jpg",

            "price": 499,

            "number":1,

            "acount": "5911",

            "ischecked":false

        },

        {

            "id":"008",

            "title": "雅诗兰黛无痕持妆粉底液",

            "img_url": "http://p3jmstaticcom/product/003/662/3662318_std/3662318_350_350jpg",

            "price": 699,

            "number":2,

            "acount": "3972",

            "ischecked":true

        },

        {

            "id":"0012",

            "title": "Estee Lauder 肌初赋活原生液30ml",

            "img_url": "http://p4jmstaticcom/product/003/565/3565914_std/3565914_350_350jpg",

            "price": 1590,

            "number":1,

            "acount": "2338"

        },

        {

            "id":"001",

            "title": "雅诗兰黛无痕持妆粉底液30ml",

            "img_url": "http://p2jmstaticcom/product/001/648/1648502_std/1648502_350_350jpg",

            "price": 2980,

            "number":4,

            "acount": "5071",

            "ischecked":false

        },

        {

            "id":"009",

            "title": "雅诗兰黛眼部精华霜15ml",

            "img_url": "http://p1jmstaticcom/product/001/049/1049746_std/1049746_350_350jpg",

            "price": 3990,

            "number":1,

            "acount": "4022",

            "ischecked":false

        }

    ]

//    添加商品

    function load() {

        var tbody=documentquerySelector('cart-container table tbody');

        for(let good of skin_products){

            tbodyinnerHTML+=` <tr class="cart-good" id="${goodid}">

                            <td><input type="checkbox" class="good-check" ${goodischecked"checked":''}></td>

                            <td>

                                <img src="${goodimg_url}" alt="">

                                <p>[极速免税]PITTA MASK 口罩3枚入</p>

                                <p>型号:新版防晒款  容量:3枚入</p>

                            </td>

                            <td>${goodprice}</td>

                            <td>

                                <input type="button" value="-"  ${goodnumber<=1"disabled":''}>

                                <input type="text" value="${goodnumber}">

                                <input type="button" value="+">

                            </td>

                            <td>${goodpricegoodnumber}</td>

                            <td><a href="#">删除</a></td>

                        </tr>`

        }

        totalAcount();

    }

    load();

//    end all

    // 1 为table注册单击事件

    var table01=documentquerySelector('cart-container table');

    table01onclick=function (event) {

        var node=eventtarget

        if(nodegetAttribute('type')=='button'){

            // alert(eventtargetvalue);

            changeNumber(event);

            subtotal(event);

            checkedRow(event);

            checkedAllRows();

        }else if(nodeclassName=='good-check'){

            checkedAllRows();

        }else if(nodeid=='chk_alla'){

            var f=eventtargetchecked;

            var chks=documentquerySelectorAll('good-check');

            for(var ck of chks){

                ckchecked=f;

            }

            for(var good of skin_products){

                goodischecked=f;

            }

        }else if(nodenodeNametoLowerCase()=='a'){

            var tr=eventtargetparentNodeparentNode;

            for(var i=0;i<skin_productslength;i++){

                if(skin_products[i]id==trid){

                    skin_productssplice(i,1);

                    consolelog(skin_products);

                }

            }

            trparentNoderemoveChild(tr);

        }

        totalAcount();

    };

    //单击增加或减少按钮的方法

    function changeNumber(event) {

        var node=event && eventtarget;

        var v=0;

        if(nodevalue && nodevalue=='+'){

            // nodepreviousElementSiblingvalue=parseInt(nodepreviousElementSiblingvalue)+1;

            nodepreviousElementSiblingvalue++;

            v=nodepreviousElementSiblingvalue;

            nodepreviousElementSiblingpreviousElementSiblingdisabled=false;

        }else{

            // if(nodevalue && nodevalue=='+')

            if(nodenextElementSiblingvalue>1){

                nodenextElementSiblingvalue--;

                v=nodenextElementSiblingvalue;

                if(v==1){

                    nodedisabled=true;

                }

            }

        }

    //    存储商品数量

        var id=nodeparentNodeparentNodeid;

        for(var good of skin_products){

            if(id==goodid){

                goodnumber=v;

            }

        }

    }

    

//    每个商品小计的方法

    

    function subtotal(event) {

        var node=event && eventtarget;

        // var id=nodeparentNodeparentNodeid;

        // for(var g of skin_products){

        //     if(gid==id){

        //         alert(gprice);

        //     }

        // }

        // var price=;

        var price=nodeparentNodepreviousElementSiblinginnerText;

        var num=nodeparentNodechildren[1]value;

        nodeparentNodenextElementSiblinginnerText=(numprice)toFixed(2);

    }

//    检验该商品是否选中

    function checkedRow(event) {

        eventtargetparentNodeparentNodefirstElementChildfirstElementChildchecked=true;

        // eventtargetparentNodeparentNodecells[0]firstElementChildchecked=true;

        // var tbody=eventtargetparentNodeparentNodeparentNode;

        // eventtargetparentNodeparentNodeparentNoderows[3]cells[0]firstElementChildchecked=true;

    }

//   检查是否全选

    function checkedAllRows() {

        var chks=documentquerySelectorAll('good-check');

        var flag=true;

        for(var ck of chks){

            if(!ckchecked){

                flag=false;

                break;

            }

        }

        documentquerySelector('#chk_alla')checked=flag;

    }

//    统计商品总量和总价格

    function totalAcount() {

        var total=0;

        var total_price=0;

        var chks=documentquerySelectorAll('good-check');

        for(var ck of chks){

            if(ckchecked){

                id=ckparentNodeparentNodeid;

                for(var good of skin_products){

                    if(id==goodid){

                        total+=~~goodnumber;

                        total_price=total_price+(goodnumbergoodprice);

                        goodischecked=true;

                    }

                }

            }

        }

        documentquerySelector('#good_count')innerText=total;

        documentquerySelector('#goods_total')innerText=total_price;

    }

})();

</script>    

</body>    

</html>

我们一般都是进它的旗下备用站下客户端,就是 http://www753sfcom/qw7 这个哈,你看看哈,我在这里玩的。

tear him back to the family table

JMSALON造型店、COOKIESHAIR(湛江万达店)等。

1、JMSALON造型店,地址霞山区荣盛中央广场18栋21楼。

2、COOKIESHAIR(湛江万达店),地址霞山区海滨大道北万达广场2层。

欢迎分享,转载请注明来源:品搜搜测评网

原文地址:https://pinsoso.cn/meirong/3169787.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2024-02-06
下一篇2024-02-06

随机推荐

  • 贴牌代加工化妆品商标注册需要哪几类

    商标分类:化妆品行业应该注册哪些类别的商标      尽管面临国内经济增长与零售环境的不确定性,国内化妆品市场仍然保持超越整体可选消费的增速。新冠疫情在带来风险的同时也带来了机遇,在疫情冲击下部分国际化妆品集团业绩亏损较大,但同时一部分国际

    2024-04-15
    84500
  • 恋姬祛斑套盒效果咋样

    恋姬祛斑套盒效果是能够改善肌肤暗沉、色斑、雀斑等问题,提亮肤色,让肌肤更加透亮,根据市场上的用户评价和体验,恋姬祛斑套盒的效果比较显著,特别是对于轻微的色斑和雀斑等有明显改善作用。使用后肌肤会感觉更加清爽、细嫩、有弹性。而且该产品不会导致过

    2024-04-15
    65500
  • 妮维雅去黑头磨砂洁面乳用起来怎么样?

    每个人都希望自己能拥有白皙光滑的肌肤,但是,生活中有很多人的肌肤都出现问题,比如有些人的鼻子上长了黑头,那你们知道对于男性朋友来说,有哪些去黑头的方法呢?估计很多人都还不知道,下面,给大家具体介绍一下妮维雅去黑头磨砂洁面乳。1、妮维雅去黑头

    2024-04-15
    57900
  • 丸美多肽蛋白提拉蜜露精华水怎么样

    想让肌肤绽放青春吗就来试试丸美多肽蛋白提拉蜜露精华水怎么样吧!快来跟着好物君一起看看丸美多肽蛋白提拉蜜露精华水怎么样吧!丸美多肽蛋白提拉蜜露精华水怎么样丸美多肽蛋白提拉蜜露精华水具有紧致肌肤的功效,有助于让肌肤更加弹润细腻。丸美多肽蛋白提拉

    2024-04-15
    47800
  • 精华露和精华液有什么不同

    精华露和精华液都是比较常用的护肤品,那你知道精华露和精华液的区别是什么吗?它们是否就是同一种护肤品呢?下面就一起来看看精华露和精华液有什么不同吧!1、质地不同:精华露质地厚重、粘稠,属于高浓缩产品。而精华液相比之下要更轻薄、流动性更强一些。

    2024-04-15
    35300
  • 妮维雅男士护肤品使用顺序

    妮维雅男士护肤品使用顺序在男士的日常护肤过程中,正确的使用顺序是非常重要的。这样不仅可以确保产品充分发挥功效,还能最大程度地满足皮肤的需要。对于妮维雅男士护肤品的使用顺序,以下是一些建议供参考。洁面是护肤过程中的第一步,也是最基础的一步。选

    2024-04-15
    47900
  • 伊贝诗水光透亮菁露怎么使用

    告别暗沉 水光透亮 拯救疲惫肌 我有bling瓶 28天肌肤焕亮一新 四大功效 1初步打底。初步打底鲜润肌底,轻轻一抹,水润满满。2打通通道。打通通道促进吸收,肌肤毛孔打开,后续成分更易吸收。3源头阻截。源头阻截亮肌晶采,添加3种焕

    2024-04-15
    46200

发表评论

登录后才能评论
保存