网页购物车代码html+css+jQuery 实现购物车功能
购物车
效果展⽰
1. 搭建简单的架⼦<!DOCTYPE html><html >    <head >        <title >购物车</title >        <meta charset ="utf-8"/>        <script src ="../jquery-1.9.1.min.js "></script >    </head >    <body >        <h1>真划算</h1>        <table >            <tr >                <th >商品</th >                <th >单价(元)</th >                <th >颜⾊</th >                <th >库存</th >                <th >好评率</th >                <th >操作</th >            </tr >            <tr >                <td >罗技M185⿏标</td >                <td >80</td >                <td >⿊⾊</td >                <td >893</td >                <td >98%</td >                <td align ="center ">                    <input type ="button " value ="加⼊购物车" onclick ="add_shoppingcart(this);"/>                </td >            </tr >            <tr >                <td >微软X470键盘</td >
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<td >微软X470键盘</td >                <td >150</td >                <td >⿊⾊</td >                <td >9028</td >                <td >96%</td >                <td align ="center ">                    <input type ="button " value ="加⼊购物车" onclick ="add_shoppingcart(this);"/>                </td >            </tr >            <tr >                <td >洛克iphone11⼿机壳</td >                <td >60</td >                <td >透明</td >                <td >672</td >                <td >99%</td >                <td align ="center ">                    <input type ="button " value ="加⼊购物车" onclick ="add_shoppingcart(this);"/>                </td >            </tr >            <tr >                <td >蓝⽛⽿机</td >                <td >100</td >                <td >蓝⾊</td >                <td >8937</td >                <td >95%</td >                <td align ="center ">                    <input type ="button " value ="加⼊购物车" onclick ="add_shoppingcart(this);"/>                </td >            </tr >            <tr >                <td >⾦⼠顿U 盘</td >                <td >70</td >                <td >红⾊</td >                <td >482</td >                <td >100%</td >                <td align ="center ">                    <input type ="button " value ="加⼊购物车" onclick ="add_shoppingcart(this);"/>                </td >            </tr >        </table >        <h1>购物车</h1>        <table >            <thead >            <tr >                <th >商品</th >                <th >单价(元)</th >                <th >数量</th >                <th >⾦额(元)</th >                <th >删除</th >            </tr
>            </thead >            <tbody id ="goods ">            </tbody >            <tfoot >            <tr >                <td colspan ="3" align ="right ">总计</td >                <td id ="total ">0</td >                <td ></td >            </tr >            </tfoot >        </table >    </body ></html >
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
2. 增加样式
3. jQuery 实现功能
注意:1. 点击加⼊购车之后,会在下⾯的表⾥增加该商品的信息,该功能由add_shoppingcart(btn)函数实现,也就是给表格增加⼀个孩⼦(⽗
节点.append(⼦节点)),并且要在相应的显⽰⾦额的地⽅增加相应的⾦额
2. 可以给1步骤优化以下,如果该商品已经添加过购物车了,那么再添加的话,不应该是再增加⼀⾏,⽽应该是在该商品的数量上加1,
所以在上⾯增加⼦节点的时候应该加⼀个判断
3. 每⼀⾏代表的是同⼀个商品,那么该⾏的⾦额显⽰那⼀块就应该显⽰的是:该商品数量x商品的单价
4. 该程序中使⽤了jQuery框架,所以需要保证你的已经下载了这个框架,下⾯代码的第⼀⾏,src="…/xxxxxxxxx",其中的…表⽰上
⼀级⽬录,及我的jQuery的这个js⽂件在这个html⽂件的上⼀个⽬录。
<style type="text/css">    h1 {        text-align : center ;}table  {    margin : 0 auto ;    width : 60%;    border : 2px solid #aaa ;    border-collapse : collapse ;}table th, table td  {    border : 2px solid #aaa ;    padding : 5px ;}th  {    background-color : #eee ;}</style>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21<script src ="../jquery-1.9.1.min.js"></script ><script >        //加⼊购物车        function  add_shoppingcart (btn ) {            // 判断要加⼊购物车的商品是否已经在购物车中存在            var  $tr = $(btn ).parents ("tr"); //  到点击事件的那⼀⾏            var  name = $tr .children ("td:eq(0)").html ();            var  state = $("#goods td:contains("+name +")");            var  price = $tr .children ("td:eq(1)").html ();            if  (state .length == 0){                // 说明该商品尚未加⼊购物车                var  node = "<tr><td>"+name +"</td>"+                        "<td>"+price +"</td>"+                        "<td><input type='button' οnclick='decrease(this)' value='-'/>" +                        "<input type='text' size='3' value='1'/>"+                        "<input type='button' οnclick='increase(this)' value='+'/>"+                        "</td><td>"+price +"</td><td><input type='button' value='x' οnclick='del(this)'/></td></tr>";                // console.log((node));
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// console.log((node));                $("#goods").append (node );                // 修改总⾦额                // console.log("总⾦额增加:"+price);                setTotal (price );            } else  {                // 该商品已经加⼊购物车                // 到该商品所在位置,在数量上加1                increase (state .parent ().children ("td:eq(2)").children ("input:eq(2)")[0]);            }        }        function  decrease (btn ) {            // 到该⾏的总⾦额那⼀列            var  total = $(btn ).parent ().next ("td");            // 到该商品在购物车⾥的数量对应的节点            var  num = $(btn ).next ("input");            // 获取单价            var  price = $(btn ).parent ().prev ("td").html ();            if  (parseInt (num .val ()) <= 0){                num .val ("0");            } else  {                num .val (parseInt (num .val ())-1);                // 修改总⾦额total.html(parseInt(num.val())*parseInt(price));                // 修改购物车的总⾦额                setTotal (-parseInt (price ));            }        }        function  increase (btn ){            // 到该⾏的总⾦额那⼀列            var  total = $(btn ).parent ().next ("td");            // 获取单价            var  price = $(btn ).parent ().prev ("td").html ();            // 到该商品在购物车⾥的数量对应的节点            var  num = $(btn ).prev ("input");            // console.log(num.val());            num .val (parseInt (num .val ())+1);            // 修改总额            total .html (parseInt (num .val ())*parseInt (price ));            // 修改购物车的总⾦额            set
Total (price );        }        function  del (btn ){            // 删除按钮            // 获取删除节点对应的节点            var  $td = $(btn ).parent ();            // 获取该商品总共的⾦额(数量*单价)            var  total = $td .prev ("td").html ();            // 删除该⾏            $td .parent ().remove ();            // 修改总额            setTotal (-total );        }        function  setTotal (price ){            // 修改购物车总⾦额            console .log ("要修改的总额:"+price );            var  total = $("tfoot td:eq(1)");            total .html (parseInt (total .html ())+parseInt (price ));        }</script >181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
83

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。