广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >js实现购物车加减以及价格计算功能
  • 571
分享到

js实现购物车加减以及价格计算功能

2024-04-02 19:04:59 571人浏览 泡泡鱼
摘要

本文实例为大家分享了js实现购物车加减以及价格计算的具体代码,供大家参考,具体内容如下 需求说明: 1、单击“半闭”按钮时,关闭当前页面购物车页面 2、单击“移入收藏”弹出收藏提示

本文实例为大家分享了js实现购物车加减以及价格计算的具体代码,供大家参考,具体内容如下

需求说明:

1、单击“半闭”按钮时,关闭当前页面购物车页面
2、单击“移入收藏”弹出收藏提示
3、单击“删除”弹出确认删除提示
4、单击“结算”按钮,弹出结算信息页面窗口
5、自动计算商品总计
6、单击“删除”按钮,使用parentnode访问当前节点的父亲节点等,使用removeChild( )删除当前商品

效果图:

代码:


<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>完善当当购物车页面</title>
    <style type="text/CSS">
     body,ul,li,div,p,h1,h2,ol{margin: 0;padding: 0;}
ul,li,ol{list-style: none;}
.content{width: 810px; margin: 0 auto;  font-family: "微软雅黑";}
.loGo{margin: 10px 0;}
.logo span{
    display: inline-block;
    float: right;
    width: 60px;
    height: 30px;
    line-height: 30px;
    font-size: 14px;
    background: #ff0000;
    color: #ffffff;
    text-align: center;
    border-radius: 10px;
    margin-top: 5px;
    margin-right: 10px;
    cursor: pointer;
    font-weight: bold;
}
.cartList{
    
    
    overflow: hidden;
}
.cartList ul{
    display: flex;
    justify-content: space-between;
    
    
}
.cartList ul:nth-of-type(1){
    display: flex;
    margin-top: 125px;
}
.cartList ul:nth-of-type(2){
    margin: 20px 0;
}
.cartList ul li{
    font-family: "微软雅黑";
    font-size: 12px;
    color: #666666;
    text-align: center;
    line-height: 25px;
    
}
.cartList ul li input[name="price"]{
    border: none;
    background: transparent;
    width: 45px;
    text-align: center;
}
.cartList ul li input[name="amount"]{
    width: 45px;
    text-align: center;
    border: 1px solid #999999;
    border-left: none;
    border-right: none;
    height: 21px;
}
.cartList ul li input[name="minus"],.cartList ul li input[name="plus"]{
    height: 25px;
    border: 1px #999999 solid;
    width: 25px;
    text-align: center;
}
.cartList ul li:nth-of-type(1){width: 130px;}
.cartList ul li:nth-of-type(2){width: 100px;}
.cartList ul li:nth-of-type(3){width: 130px;}
.cartList ul li p{cursor: pointer;}
.cartList ol{
    float: right;
    clear: both;
    margin-top: 40px;
}
.cartList ol li{
    float: left;
}
.cartList ol li:nth-of-type(1){
    color: #ff0000;
    width: 80px;
    height: 35px;
    line-height: 35px;
    text-align: center;
}
.cartList ol li span{display: inline-block;
    float: right;
    width: 80px;
    height: 35px;
    line-height: 35px;
    font-size: 14px;
    font-family: "微软雅黑";
    background: #ff0000;
    color: #ffffff;
    text-align: center;
    
    
    cursor: pointer;
    font-weight: bold;}
 
    </style>
</head>
 
<!--onload,在加载时计算好原始金额-->
<body onload="total()">
 
<div class="content">
    <div class="logo">
        <span onclick="javascript:if (confirm('确认要关闭吗'))window.close() ">关闭</span>
    </div>
    <div class="cartList">
        <ul>
            <li>商品信息</li>
            <li>商品图片</li>
            <li>单价(元)</li>
            <li>数量</li>
            <li>金额(元)</li>
            <li>操作</li>
        </ul>
        <ul style="display: flex;justify-content: space-between;align-items: center" id="first">
            <li>《平凡的世界》</li>
            <li><img src="./img/1.png" alt="" width="50" height="50"></li>
            <li>¥<input type="text" name="price" value="21.90"></li>
            <li><input type="button" name="minus" value="-" onclick="minus(0)"><input type="text" name="amount" value="1"><input type="button" name="plus" value="+" onclick="plus(0)" ></li>
            <li id="price0">¥21.90</li>
            <li><p onclick="save()">移入收藏</p><p onclick="delete1()">删除</p></li>
        </ul>
        <ul style="display: flex;justify-content: space-between;align-items: center; margin: 20px 0;">
            <li>《昆虫记》</li>
            <li><img src="./img/2.png" alt="" width="50" height="50"></li>
            <li>¥<input type="text" name="price" value="24.00"></li>
            <li><input type="button" name="minus" value="-" onclick="minus(1)"><input type="text" name="amount" value="1"><input type="button" name="plus" value="+" onclick="plus(1)"></li>
            <li id="price1">¥24.00</li>
            <li><p onclick="save()">移入收藏</p><p onclick="delete1()">删除</p></li>
        </ul>
        <ol>
            <li id="totalPrice">&nbsp;</li>
            <li><span>结算</span></li>
        </ol>
    </div>
</div>
</body>
</html>
 
<script>
    //减法
    function minus(index) {
        //获取当前数量的值
        var amounts=document.getElementsByName("amount");
 
        //得到第一个amount的元素的value属性的值
        var count=parseInt(amounts[index].value); //数量加1
 
        if (count<=1){
            alert("不能再减了,快没了!!");
        } else {
            //得到第一个amount的元素的value属性的值
            var count=parseInt(amounts[index].value)-1; //数量加1
 
            //重新把count的值绑定在数量文本框里
            amounts[index].value=count;
            var prices=document.getElementsByName("price");
            var price=parseFloat(prices[index].value);
            //乘以Math.pow(10,2)的原因为避免失真
            var totalMoney=((price*Math.pow(10,2))*count)/Math.pow(10,2);
 
            document.getElementById("price"+index).innerHTML="¥:"+totalMoney;
        }
 
        total();
 
    }
 
    //加法
    function plus(index) {
 
        //获取当前数量的值
        var amounts=document.getElementsByName("amount");
 
        //得到第一个amount的元素的value属性的值
        var count=parseInt(amounts[index].value)+1; //数量加1
 
        //重新把count的值绑定在数量文本框里
        amounts[index].value=count;
 
        //当前操作端口的价格也要重新计算
        //得到当前端口的单价
        var prices=document.getElementsByName("price");
        var price=parseFloat(prices[index].value);
        //乘以Math.pow(10,2)的原因为避免失真
        var totalMoney=((price*Math.pow(10,2))*count)/Math.pow(10,2);
 
        //把当前价格显示在文本中
        document.getElementById("price"+index).innerHTML="¥:"+totalMoney;
 
        total();
    }
 
 
    //求总金额
 
    function total() {
 
        //得到所有的数量
        var counts=document.getElementsByName("amount");
 
        //得到所有的单价
        var prices=document.getElementsByName("price");
 
        var sumMoney=0;
 
        for (var i=0;i<counts.length;i++){
 
            //乘以Math.pow(10,2)的原因为避免失真
            sumMoney+=(parseFloat(prices[i].value)*Math.pow(10,2)*parseInt(counts[i].value)/Math.pow(10,2));
        }
 
        //把总金额显示再指定的元素中
        document.getElementById("totalPrice").innerHTML="¥:"+sumMoney;
 
    }
 
 
    //加入收藏
    function save() {
        if (confirm("确认要收藏吗?")){
            alert("收藏成功!");
        }
 
    }
    //删除
    function delete1() {
        if (confirm("确认要删除吗?")) {
            var del=document.getElementById("first");
            del.parentNode.removeChild(del);
            alert("删除成功!!");
        }
    }
</script>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: js实现购物车加减以及价格计算功能

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

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

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

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

下载Word文档
猜你喜欢
  • js实现购物车加减以及价格计算功能
    本文实例为大家分享了js实现购物车加减以及价格计算的具体代码,供大家参考,具体内容如下 需求说明: 1、单击“半闭”按钮时,关闭当前页面购物车页面 2、单击“移入收藏”弹出收藏提示 ...
    99+
    2022-11-12
  • js实现购物车加减和价格运算
    本文实例为大家分享了js实现购物车加减和价格运算的具体代码,供大家参考,具体内容如下 主要实现功能:购物车的加减,单件商品价格的运算,总价格的运算。价格保留两位小数。 <...
    99+
    2022-11-12
  • Vue实现购物车计算总价功能
    用Vue实现一个购物车计算总价的功能,供大家参考,具体内容如下 代码 html <div id="app">         <div class="panel ...
    99+
    2022-11-13
  • Vue怎么实现购物车计算总价功能
    本文小编为大家详细介绍“Vue怎么实现购物车计算总价功能”,内容详细,步骤清晰,细节处理妥当,希望这篇“Vue怎么实现购物车计算总价功能”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。效果:代码html<di...
    99+
    2023-06-30
  • Android 购物车加减功能的实现代码
    Android 实现购物车加减功能,效果图如下所示: public class adderView extends LinearLayout implements View...
    99+
    2022-06-06
    购物车 Android
  • php如何实现一个购物车加减功能
    这篇文章主要介绍“php如何实现一个购物车加减功能”,在日常操作中,相信很多人在php如何实现一个购物车加减功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php如何实现一个购物车加减功能”的疑惑有所帮助!...
    99+
    2023-07-06
  • 用django实现购物车的商品加减功能
    首先写出html代码 <button goodsid="{{ good.id }}" class="subShopping">-</button> ...
    99+
    2023-01-30
    购物车 加减 功能
  • Android实现仿淘宝购物车增加和减少商品数量功能demo示例
    本文实例讲述了Android实现仿淘宝购物车增加和减少商品数量功能。分享给大家供大家参考,具体如下: 在前面一篇《Android实现的仿淘宝购物车demo示例》中,小编简单的介...
    99+
    2022-06-06
    淘宝 demo 购物车 Android
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作