用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

随机推荐

  • 妮维雅和欧莱雅哪个好?妮维雅是哪国的品牌?

    妮维雅这个品牌大家都比较熟悉,很多人都会想到它们家的洗面奶,还经常被拿来和其他的护肤品牌做比较,比如说欧莱雅这个品牌,因为欧莱雅的护肤产和妮维雅一样也是有男士和女士的,那妮维雅和欧莱雅哪个好?妮维雅是哪国的品牌?1、妮维雅和欧莱雅哪个好妮维

    2024-04-15
    57600
  • 精华液好还是精华露哪个更好

    1、质地不同:精华露是一种高度浓缩的护肤品,质地比较粘,比较适合干性肌肤。但是对油性皮肤来说,因为油脂分泌旺盛,如果涂太滋润的产品并不容易吸收,所以不太适合多种精华类的护肤品使用,以免因为吸收不了而出现营养过剩、粉刺等问题。精华液一般为液体

    2024-04-15
    51400
  • 面霜,乳液,精华素,精华霜分别由什么作用啊?

    不管养好皮肤有多少种说法,有几大秘密诀窍,或者是有多少种你必须知道的护肤品,精华绝对绝对是重中之重。不管你往脸上擦多少种保养品,真正能被皮肤吃进去和发挥效用的只有精华,因为水啊乳啊霜啊,都只能够作用到表皮层,唯独只有精华因为含有许多活性成分

    2024-04-15
    40600
  • 屈臣氏有欧莱雅吗?

    屈臣氏是一家专门销售化妆品、保健品和个人护理产品的零售商。在屈臣氏的店铺里,你可以找到一些著名的国际品牌,比如欧莱雅、资生堂、兰蔻等等。那么问题来了,屈臣氏有欧莱雅吗?答案是肯定的。屈臣氏确实有欧莱雅产品。作为国际知名品牌,欧莱雅在全球范围

    2024-04-15
    45700
  • 保湿精华凝露 怎么用? 用在哪个步骤呢?

    精华凝露就是精华素,直接涂抹在脸上即可,在肌肤拍完水之后使用。顺序则是:洁面---水---精华凝露---乳液。精华凝露有锁水保湿的作用,凝露质地的精华液看上去就像我们平时所用的啫喱霜,这种质地的精华液通常也是不含油分的,容易推开,好吸收,锁

    2024-04-15
    45400
  • 精华露使用方法(精华液怎么用使用顺序)

     女生买一套护肤品至少需要几百元,护肤品里的精华可以说占了很大一部分。作为同类护肤品中最贵的精华,其成分远高于乳霜。因此,人们在应用时应该正确地应用精华。让我们掌握精华的正确用法。  一、使用前,掌握护肤中精华的在护肤第几步使用。  涂抹精

    2024-04-15
    47300
  • 妮维雅是欧莱雅旗下的吗 妮维雅是什么档次

    妮维雅是欧莱雅旗下的一款护肤品牌,它属于中档护肤品。妮维雅以其独特的产品设计和高质量的成分在市场上受到广大消费者的喜爱。让我们来讨论妮维雅是否属于欧莱雅旗下。是的,妮维雅是欧莱雅旗下的一个品牌。欧莱雅是全球知名的化妆品公司,拥有多个知名品牌

    2024-04-15
    59400

发表评论

登录后才能评论
保存