`

经典案例: 购物车

 
阅读更多

完整案例:

<!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
分享到:
评论

相关推荐

    购物车经典案例

    本案例将深入探讨购物车的经典设计与实现,涉及的技术点主要包括数据结构、状态管理、计算逻辑以及用户体验。 1. 数据结构设计: - 商品项(CartItem):每个购物车中的商品都对应一个商品项,包含商品ID、数量、...

    J2EE经典案例设计与实现

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

    经典购物车代码asp.net20开发

    【标题】"经典购物车代码asp.net20开发"涵盖了ASP.NET 2.0框架下构建电子商务网站的核心组件——购物车功能的实现。ASP.NET 2.0是微软推出的一个强大的Web应用程序开发平台,它提供了丰富的控件和功能,简化了开发...

    J2ee开发经典案例

    ### J2EE开发经典案例概览 #### 一、J2EE概述 J2EE 是一种基于Java标准版的平台,旨在为企业级应用提供一个健壮、灵活且可扩展的基础架构。该平台通过提供多种服务和技术来支持复杂的业务逻辑处理、事务管理、安全...

    java购物车案例(servlet+jsp)

    【Java购物车案例(Servlet+JSP)】是基于Java Web技术实现的一个经典应用场景,它展示了如何使用Servlet和JSP来构建一个简单的电子商务系统中的购物车功能。在本案例中,用户可以浏览商品,选择商品加入购物车,并...

    hibernate+struts 购物车代码

    【标题】:“Hibernate+Struts 购物车代码”是一个经典的Java开发示例,它展示了如何使用这两种技术来实现一个完整的购物车功能。Hibernate是一个强大的对象关系映射(ORM)框架,它允许开发者用Java对象来操作...

    Java十大经典案例

    Java作为一门广泛使用的编程语言,其经典案例是学习者进阶的重要途径。这些案例涵盖了Java的核心概念和技术,有助于初学者理解和应用所学知识。以下是对"Java十大经典案例"的详细解析: 1. **银行系统模拟**:这个...

    php十个经典案例

    在PHP编程领域,掌握经典案例是提升技能的关键步骤。这些案例可以帮助我们理解PHP在实际项目中的应用,并加深对语言特性的理解。以下是对"php十个经典案例"的详细解析: 1. **用户注册与登录系统**:这个案例涉及到...

    PHP MYSQL DreamWeaver网站建设经典案例.rar

    "PHP MYSQL DreamWeaver网站建设经典案例"这个资源提供了12个具体的实战案例,旨在帮助学习者深入理解如何将这三个元素有效结合,创建功能丰富的网页应用程序。 1. PHP基础知识:PHP是一种服务器端脚本语言,用于...

    jsp+servlet经典案例

    在"jsp+servlet经典案例"的压缩包中,可能会包含以下内容: - **Servlet类**:处理HTTP请求,实现业务逻辑。 - **JSP文件**:展示数据,使用EL表达式或脚本元素来显示从Servlet传递过来的数据。 - **配置文件**:如...

    购物车案例

    在Java编程领域,"购物车案例"是一个经典的实践项目,非常适合初学者用来学习和掌握基本的CRUD(创建Create、读取Read、更新Update、删除Delete)操作。在这个案例中,我们将探讨如何利用Java实现一个简单的购物车...

    ssh 简易购物车实现

    SSH简易购物车实现是Java开发中的一个经典案例,它涵盖了Spring、Struts和Hibernate这三大框架的集成应用。这三个框架的组合,常被称为SSH框架,是企业级Java Web开发的主流选择之一。在这个项目中,我们将深入理解...

    jsp经典案例-网上书店

    **网上书店系统是基于JSP技术的一个典型应用案例,它涵盖了Web开发中的多个核心知识点,包括数据存储、用户交互和动态网页生成等。** 在JSP(Java Server Pages)技术中,开发者可以将HTML代码与Java代码混合编写,...

    Ajax经典案例开发大全

    **Ajax经典案例开发大全**是一本深入探讨Ajax技术在实际应用中的详细教程,它以PDF文档的形式呈现,为开发者提供了丰富的实例源码,便于学习和参考。Ajax,全称为Asynchronous JavaScript and XML(异步JavaScript和...

    java用mvc实现的购物车

    在这个“java用mvc实现的购物车”案例中,我们将深入探讨如何运用`MVC`模式来构建一个功能完善的购物车系统。 **1. 模型(Model)** 模型是购物车系统的核心,负责处理数据和业务逻辑。它包含了商品对象(Product)...

    Android经典项目案例开发实战宝典实例源文件 下)

    在本资源中,"Android经典项目案例开发实战宝典实例源文件(下)",包含的是13到22个Android应用开发的经典案例,这些案例是深入理解和掌握Android开发技术的重要资源。每个案例都提供了完整的源代码,有助于开发者...

    JavaScript实现的购物车效果可以运用在好多地方

    在现代Web开发中,实现动态交互功能是非常常见的需求,购物车功能正是这样的一个经典案例。通过JavaScript,我们可以创建一个能够进行商品选择、移动和删除操作的购物车系统。这样的系统不仅仅局限于电子商务网站中...

    asp.net 经典案例

    在这个"ASP.NET 经典案例"中,我们看到涉及了三个重要的系统:电子商务系统、论坛系统和博客系统,这些都是Web开发中常见的应用场景。 1. **电子商务系统**: 电子商务系统是在线交易的核心平台,通常包括商品展示...

    高仿最新淘宝购物车

    2. Kotlin/Java:Kotlin是现代Android开发的主要语言,但Java也是广泛使用的经典选项。这两种语言的语法、特性以及如何在Android应用中使用它们是重要的知识领域。 3. XML布局:用于创建用户界面,定义视图和控件的...

    java购物车源码ShoppingCar

    6. **设计模式**:购物车系统可能会运用到一些经典设计模式,如工厂模式用于创建商品对象,单例模式用于保证购物车实例的唯一性,策略模式用于定义不同的促销策略等。 7. **单元测试**:项目中的`TestShopping`可能...

Global site tag (gtag.js) - Google Analytics