经典案例: 购物车

来源:互联网 发布:bmob后端云 java 编辑:程序博客网 时间:2024/05/07 16:58

完整案例:

<!DOCTYPE html><html>  <head>    <title>购物车</title>    <meta charset="utf-8" />    <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>    <script type="text/javascript">        function add_shoppingcart(btn){            //console.log(btn);            var tr = btn.parentNode.parentNode;            //console.log(tr);            //找到全部td            var tds = tr.getElementsByTagName('td');            //console.log(tds);            //获取商品名            var name=tds[0].innerHTML;            var price=parseFloat(tds[1].innerHTML);            //console.log(name);            //console.log(price);            //将商品信息添加到购物车表格            var tr = document.createElement('tr');            tr.innerHTML='<td>'+name+'</td>'+                '<td>'+price+'</td>'+                '<td align="center">'+                '<input type="button" value="-" onclick="changeNum(this, -1);">'+                '<input type="text" size="3" readonly value="1"/>'+                '<input type="button" value="+" onclick="changeNum(this, 1);">'+            '</td>'+                '<td></td>'+                '<td align="center"><input type="button" value="X" onclick="removeItem(this);"></td>';            //console.log(tr);            //将tr插入到购物车            var tbody=document.getElementById('goods');            tbody.appendChild(tr);            total();        }        //计算商品总价        function total(){            //console.log('total()');            var tbody=$('goods');            var trs =                 tbody.getElementsByTagName('tr');            console.log(trs);            var sum = 0;            for(var i=0; i<trs.length; i++){                var tr = trs[i];                console.log(tr);                var tds=tr.getElementsByTagName('td');                console.log(tds);                //获取商品的价格                var price=parseFloat(                        tds[1].innerHTML);                console.log(price);                //获取数量值                 var num = parseInt(tds[2]                    .getElementsByTagName('input')[1]                    .value);                console.log(num);                //计算金额                var money = num*price;                tds[3].innerHTML=money.toFixed(2);                //累计总价                sum += money;            }            //将总价写到 tfoot中            $('total').innerHTML=sum.toFixed(2);        }        function $(id){            return document.getElementById(id);        }        function changeNum(btn, n){            //console.log(n);            //找到当前的num            var input=btn.parentNode                .getElementsByTagName('input')[1];            console.log(input);            var num = parseInt(input.value);            console.log(num);             //增加/减少            num += n;            //检查是否<=0            if(num<=0){                return;            }            //更新 input.value            input.value = num;            total();        }        function removeItem(btn){            var tr=btn.parentNode.parentNode;            var tbody = $('goods');            tbody.removeChild(tr);            total();        }    </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>        <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>洛克iphone6手机壳</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">      <!--         <tr>          <td>罗技M185鼠标</td>          <td>80</td>          <td align="center">            <input type="button" value="-"/>            <input type="text" size="3" readonly value="1"/>            <input type="button" value="+"/>          </td>          <td>80</td>          <td align="center"><input type="button" value="x"/></td>        </tr>        -->      </tbody>      <tfoot>        <tr>          <td colspan="3" align="right">总计</td>          <td id="total"></td>          <td></td>        </tr>      </tfoot>    </table>      </body></html>
原创粉丝点击