广告
返回顶部
首页 > 资讯 > 前端开发 > html >JavaScript如何实现购物车结算
  • 421
分享到

JavaScript如何实现购物车结算

2024-04-02 19:04:59 421人浏览 薄情痞子
摘要

这篇文章主要介绍javascript如何实现购物车结算,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! JavaScript实现购物车结算的方法:1、在页面

这篇文章主要介绍javascript如何实现购物车结算,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

JavaScript实现购物车结算的方法:1、在页面加载后执行function;2、获取元素;3、设置加减按钮;4、另存下标;5、设置加减号的点击事件;6、创建复选框的状态改变事件。

本文操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。

JavaScript怎么实现购物车结算?

JavaScript如何实现购物车结算

html代码:

<div id="container">
    <ul>
        <li>
            <input type="checkbox" name="liCheck" id="" value="">
            <button type="button" class="decrease" disabled="disabled">-</button>
            <p>
                <span class="piece">0</span>件
            </p>
            <button type="button" class="increase">+</button>
            <p>
                <span class="price">10</span>元
            </p>
            <p>
                小计:
                <input class="smallPrice" type="text" name="" id="" value="0" disabled="disabled">
            </p>
        </li>
        <li>
            <input type="checkbox" name="liCheck" id="" value="">
            <button type="button" class="decrease" disabled="disabled">-</button>
            <p>
                <span class="piece">0</span>件
            </p>
            <button type="button" class="increase">+</button>
            <p>
                <span class="price">20</span>元
            </p>
            <p>
                小计:
                <input class="smallPrice" type="text" name="" id="" value="0" disabled="disabled">
            </p>
        </li>
        <li>
            <input type="checkbox" name="liCheck" id="" value="">
            <button type="button" class="decrease" disabled="disabled">-</button>
            <p>
                <span class="piece">0</span>件
            </p>
            <button type="button" class="increase">+</button>
            <p>
                <span class="price">30</span>元
            </p>
            <p>
                小计:
                <input class="smallPrice" type="text" name="" id="" value="0" disabled="disabled">
            </p>
        </li>
        <li>
            <input type="checkbox" name="liCheck" id="" value="">
            <button type="button" class="decrease" disabled="disabled">-</button>
            <p>
                <span class="piece">0</span>件
            </p>
            <button type="button" class="increase">+</button>
            <p>
                <span class="price">40</span>元
            </p>
            <p>
                小计:
                <input class="smallPrice" type="text" name="" id="" value="0" disabled="disabled">
            </p>
        </li>
        <li>
            <input type="checkbox" name="liCheck" id="" value="">
            <button type="button" class="decrease" disabled="disabled">-</button>
            <p>
                <span class="piece">0</span>件
            </p>
            <button type="button" class="increase">+</button>
            <p>
                <span class="price">50</span>元
            </p>
            <p>
                小计:
                <input class="smallPrice" type="text" name="" id="" value="0" disabled="disabled">
            </p>
        </li>
    </ul>
    <div class="sum">
        <label>
<input type="checkbox" name="" id="checkAll" value="">全选
</label>
        <p>
            商品总计:
            <span id="totalCount">0</span>
        </p>
        <p>
            商品总价:
            <span id="totalPrice">0</span>
        </p>
    </div>
</div>
CSS代码:
html,body,ul,p {
margin:0;
padding:0;
}
ul,li {
list-style:none;
}
ul {
width:450px;
}
li {
display:flex;
justify-content:space-around;
}
.sum {
width:450px;
display:flex;
justify-content:space-around;
}
#container {
width:450px;
margin:100px auto;
}

js代码:

// 1.页面加载后执行
window.onload = function() {
    // 2.获取元素
    var liCheck = document.getElementsByName("liCheck"); //li里面的复选框
    var decrease = document.getElementsByClassName("decrease"); //减号
    var piece = document.getElementsByClassName("piece"); //件数
    var increase = document.getElementsByClassName("increase"); //加号
    var price = document.getElementsByClassName("price"); //单价
    var smallPrice = document.getElementsByClassName("smallPrice"); //小计
    var checkAll = document.getElementById("checkAll"); //全选复选框
    var totalCount = document.getElementById("totalCount"); //总计
    var totalPrice = document.getElementById("totalPrice"); //总价
    // 3.加减按钮
    for (var i = 0; i < decrease.length; i++) {
        // 4.另存下标
        decrease[i].index = i;
        increase[i].index = i;
        liCheck[i].index = i;
        // 5.减号的点击事件
        decrease[i].onclick = function() {
            // 5-1.判断件数是否大于0
            if (piece[this.index].innerHTML <= 1) {
                this.disabled = true; //当件数小于等于0时, 将减号按钮禁用
            }
            // 5-1-1.当前件数-1
            piece[this.index].innerHTML--;
            // 5-1-2.计算小计
            smallPrice[this.index].value = Number(smallPrice[this.index].value) - Number(price[this.index].innerHTML);
            // 6-4.如果当前条目是被选中状态, 则需要将该商品计入总计和总价
            if (liCheck[this.index].checked) { //选中
                totalCount.innerHTML--;
                totalPrice.innerHTML = Number(totalPrice.innerHTML) - Number(price[this.index].innerHTML);
            }
        }
        // 6.加号的点击事件
        increase[i].onclick = function() {
            // 6-1.将对应的减号解禁
            decrease[this.index].disabled = false;
            // 6-2.当前件数+1
            piece[this.index].innerHTML++;
            // 6-3.计算小计
            smallPrice[this.index].value = Number(smallPrice[this.index].value) + Number(price[this.index].innerHTML);
            // 6-4.如果当前条目是被选中状态, 则需要将该商品计入总计和总价
            if (liCheck[this.index].checked) { //选中
                totalCount.innerHTML++;
                totalPrice.innerHTML = Number(totalPrice.innerHTML) + Number(price[this.index].innerHTML);
            }
        }
        // 7.复选框的状态改变事件
        var count = 0; //存储选中个数
        liCheck[i].onchange = function() {
            // 7-1.判断是否选中
            if (this.checked) { //选中状态
                count++;
                totalCount.innerHTML = Number(totalCount.innerHTML) + Number(piece[this.index].innerHTML); //总计加当前件数
                totalPrice.innerHTML = Number(totalPrice.innerHTML) + Number(smallPrice[this.index].value); //总计加当前件数
                // 7-1-1. 判断选中个数是否与复选框个数一致
            } else { //取消选中状态
                count--;
                totalCount.innerHTML = Number(totalCount.innerHTML) - Number(piece[this.index].innerHTML); //总计加当前件数
                totalPrice.innerHTML = Number(totalPrice.innerHTML) - Number(smallPrice[this.index].value); //总计加当前件数
            }
            count == liCheck.length ? checkAll.checked = true : checkAll.checked = false;
        }
    }
    // 8.全选复选框
    checkAll.onchange = function() {
        totalCount.innerHTML = 0; //总计置为0
        totalPrice.innerHTML = 0; //总价置为0
        for (var j = 0; j < liCheck.length; j++) {
            // 8-1. 将li里面的复选框与全选状态保持一致
            liCheck[j].checked = this.checked;
            // 8-2. 判断是否全选
            if (this.checked) {
                count = liCheck.length;
                totalCount.innerHTML = Number(totalCount.innerHTML) + Number(piece[j].innerHTML);
                totalPrice.innerHTML = Number(totalPrice.innerHTML) + Number(smallPrice[j].value);
            } else {
                count = 0;
            }
        }
    }
}

以上是“JavaScript如何实现购物车结算”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网html频道!

--结束END--

本文标题: JavaScript如何实现购物车结算

本文链接: https://www.lsjlt.com/news/70308.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • JavaScript如何实现购物车结算
    这篇文章主要介绍JavaScript如何实现购物车结算,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! JavaScript实现购物车结算的方法:1、在页面...
    99+
    2022-10-19
  • 如何使用jQuery实现购物车结算功能
    这篇文章主要介绍如何使用jQuery实现购物车结算功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体内容如下<!DOCTYPE html> <html...
    99+
    2022-10-19
  • Vue模拟实现购物车结算功能
    本文实例为大家分享了Vue实现购物车结算功能的具体代码,供大家参考,具体内容如下 <!DOCTYPE html> <html lang="en"> <...
    99+
    2022-11-12
  • vue简单实现购物车结算功能
    本文实例为大家分享了vue简单实现购物车结算的具体代码,供大家参考,具体内容如下 样式没有写 <template>  <div class="about cont...
    99+
    2022-11-13
  • javascript如何实现购物车效果
    这篇文章将为大家详细讲解有关javascript如何实现购物车效果,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。javascript实现购物车效果的方法:1...
    99+
    2022-10-19
  • JavaScript如何实现购物车怎么
    这篇文章主要介绍了JavaScript如何实现购物车怎么,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体内容如下HTML结构<!DOCTYPE html&g...
    99+
    2023-06-26
  • JavaScript实现网页购物车
    今天是JavaScript的一个汇总,最近小编把自己曾经写过的JavaScript 网页购物车项目给整理了一下,大家可以看一下,然后自己也可以写一个网页购物车项目噢,然后我们的Jav...
    99+
    2022-11-13
  • JavaScript实现购物车案例
    本文实例为大家分享了JavaScript实现购物车功能的具体代码,供大家参考,具体内容如下 HTML结构 <!DOCTYPE html> <html lang="...
    99+
    2022-11-12
  • jquery购物车实时结算特效实现思路
    复制代码 代码如下: $(function(){ $(".child_tab tr:last-child").find("td").css({borderBottom:'none'}...
    99+
    2022-11-15
    购物车 实时结算
  • java购物车如何实现
    要实现一个Java购物车,你可以按照以下步骤进行操作:1. 创建一个`Product`类来表示商品,该类包括商品的名称、价格和数量等...
    99+
    2023-10-12
    java
  • php如何实现购物车
    本文操作环境:Windows7系统、PHP7.1版,DELL G3电脑php实现购物车功能首先将前端页面布局搭出来,做到如下:<php $conn=mysql_connect("localhost","...
    99+
    2016-06-18
    php
  • vue.js如何实现购物车
    这篇文章主要介绍vue.js如何实现购物车,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1.一层数据结构-全选下面这段代码和vuejs官网里面checkbox绑定很像。不明白的可以直...
    99+
    2022-10-19
  • AngularJs如何实现购物车
    这篇文章给大家分享的是有关AngularJs如何实现购物车的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。代码:<!DOCTYPE html> <htm...
    99+
    2022-10-19
  • 原生JavaScript实现购物车效果
    本文实例为大家分享了JavaScript实现购物车效果的具体代码,供大家参考,具体内容如下 HTML: <!DOCTYPE html> <html>     ...
    99+
    2022-11-13
  • Python实现简易购物车(未完结)
    使用Python完成购物车功能需求:  1.让用户输入金额  2.选择要购买的商品,加入购物车  3.当商品的总价超过了你的金额,提示余额不足  4.让用户输入N结算,输入Q退出 goods = [ {'name':'电脑','...
    99+
    2023-01-31
    购物车 简易 未完结
  • js实现购物车计算的方法
    本文实例为大家分享了js实现购物车计算的具体代码,供大家参考,具体内容如下 以店铺为单位,每个店铺下面有对应的商品选项,可全选,商品单选,店铺单选,商品数量加减,删除 代码: ...
    99+
    2022-11-12
  • 如何利用Redis和JavaScript实现购物车功能
    如何利用Redis和JavaScript实现购物车功能购物车是电商网站中非常常见的功能之一,它允许用户将感兴趣的商品添加到购物车中,方便用户随时查看和管理购买的商品。在本文中,我们将介绍如何利用Redis和JavaScript实现购物车功能...
    99+
    2023-10-22
    redis JavaScript 购物车
  • Vue实现购物车计算总价功能
    用Vue实现一个购物车计算总价的功能,供大家参考,具体内容如下 代码 html <div id="app">         <div class="panel ...
    99+
    2022-11-13
  • 如何实现IONIC购物车功能
    这篇文章主要为大家展示了“如何实现IONIC购物车功能”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何实现IONIC购物车功能”这篇文章吧。具体内容如下HTM...
    99+
    2022-10-19
  • Ajax如何实现修改购物车
    这篇文章主要为大家展示了“Ajax如何实现修改购物车”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Ajax如何实现修改购物车”这篇文章吧。1.购物车类的设计Sh...
    99+
    2022-10-19
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作