`

经典案例: 购物车

 
阅读更多

完整案例:

<!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>
  • 大小: 95.5 KB
  • 大小: 47.6 KB
  • 大小: 30.1 KB
分享到:
评论

相关推荐

    购物车经典案例

    购物车经典案例

    J2EE经典案例设计与实现

    第2章 J2EE数据库编程设计与实现 ...案例11:Servlet实现简单购物车程序 案例12:JSP与Servlet之间信息传递 案例13:使用Servlet过滤器记录访问页面地址和页面执行时间 案例14:实现接受两种请求方式的Servlet 本章小结

    java 购物车源代码,详细版,可用于毕业设计

    java 经典案例购物车系统.有详细解释,适合新手Java学习。可用于大学毕业设计项目

    原生JS实现高大上的购物车

    购物车可谓是js中十分经典的案例,很多电商网站都会用到,是一个十分考验综合性的案例 今天分享一个自己编写的购物车,采用的是原生面向对象实现,数据的传导通过事件代理进行。

    购物车案例及增删改查金典版

    此案例有经典的增删改查,购物车的数量加减案例,复选框的勾选删除案例,很适合初学者和模块需求适用者 ,很值得下载

    jdbc数据库分页(实现购物车的例子)

    jdbc数据库分页(实现购物车的例子),基础但是经典...

    Ajax 经典案例开发大全

    经典案例,带数据库脚本、Java源文件和页面源文件。有演示效果,也可以自己部署看效果。以下是案例的目录。 1-1.EXE 动态加载的FAQ实例演示 1-2.EXE 根据邮政编码获取地区信息实例演示 1-3.EXE 动态树形列表实例...

    原生JS经典案例特效

    30多套JavaScript的案例库,动画效果。360度全景展示效果,back_评分,back_图片滚动播放,JS简易年历,slide上下滚动条,放大镜简单版,竖排导航,土豆右下角菜单悬浮效果,照片墙一多实例演示_files,back_瀑布流...

    ajax 经典案例源码(Jsp)

    包括了:多级联动菜单,动态树形列表,无刷新回帖,文件上传进度条显示,大量数据动态查询,购物车,聊天室,灯箱效果,自动保存草稿,考试系统等等50多中效果源码

    ecshop二次开发 47个经典插件开发案例 ecshop

    五、仿淘宝商品详细页加入购物车效果 14 六、ecshop加入购物车效果(各个页面) 22 七、商品列表页面“喜欢“ 功能实现 29 八、商品列表也显示获赠消费积分 32 九、分析 ecshop 里的$GLOBALS 37 十、解决 选择属性 ...

    ecshop二次开发 47个经典插件开发案例 讲解很详细 学习参考感谢提供者

    五、仿淘宝商品详细页加入购物车效果 14 六、ecshop加入购物车效果(各个页面) 22 七、商品列表页面“喜欢“ 功能实现 29 八、商品列表也显示获赠消费积分 32 九、分析 ecshop 里的$GLOBALS 37 十、解决 选择属性 ...

    26个经典微信小程序实例源码大全下载.zip

    仿 「ONE · 一个」 的微信小程序 .zip 仿网易云音乐APP的微信小程序 .zip 高仿手机QQ应用程序.zip 跑步微信小程序 .zip ...一个简单的微信小程序购物车DEMO .zip HiApp 微信小程序版 .zip wechat-weapp-gank-master

    Jsp经典应用技术项目小例

    Jsp学习经典技术案例的应用!对jsp技术的批量删除了,数据库的链接方式,经典购物车!有关jsp的深入学习!

    javaweb开发实战经典课后答案(李兴华)

    java web开发实战经典一书的课后习题讲解,这套源码从最基本的JSP页面到Model 1到Model 2,文件上传,EL,JSTL,Ajax,Structs,一点一点的修改讲解。最后形成一个完整的案例,比较经典。

    ecshop二次开发 47个经典插件开发案例 讲解很详细

    五、仿淘宝商品详细页加入购物车效果 14 六、ecshop加入购物车效果(各个页面) 22 七、商品列表页面“喜欢“ 功能实现 29 八、商品列表也显示获赠消费积分 32 九、分析 ecshop 里的$GLOBALS 37 十、解决 选择属性 ...

    jquery经典例子

    整个背景的切换,图片放大镜,商品列表,购物车,有助于开发者的开发。

    JavaScript-Example-100:100个JavaScript实战案例,适合初学者系统学习

    1.15购物车应用 1.16表单验证 1.17创建文件夹 1.18放大镜 1.19控制盒子方向 1.20贪吃蛇游戏 2.面向对象部分(10个) 2.1面向对象基础知识 2.2面向对象写选项卡 2.3面向对象写拖拽 2.4封装弹窗组件 2.5天猫放大镜效果...

    ASP网上购物系统旗舰版

    黑底深蓝、黑底炫彩、黑底深灰、黑底棕色、混合苍青、经典蓝色、朴素蓝色、 明亮蓝色、 精美浅蓝、 韵味深蓝、 品味棕色、 简洁灰色、 明亮银灰、 健康、 植物、 混合黄绿、 混合蓝绿、 可爱泡泡、 可爱洋红、 精美...

Global site tag (gtag.js) - Google Analytics