利用JavaScript实现简单的购物车功能

本文介绍了如何利用JavaScript实现简单的购物车功能,包括点击加减按钮时,动态更新商品的总价、总件数和总价格。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如图所示
在这里插入图片描述

当点击加减号时总价,总件数与总价格也要改变
在这里插入图片描述

代码如下

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <ul>
        <li>
            <button class="btn">-</button><span class="num">0</span><button class="btn">+</button> 单价:<span class="num">12.5元</span> 总价 : <span class="num">0元</span>
        </li>
        <li>
            <button class="btn">-</button><span class="num">0</span><button class="btn">+</button> 单价:<span class="num">13.5元</span> 总价 : <span class="num">0元</span>
        </li>
        <li>
            <button class="btn">-</button><span class="num">0</span><button class="btn">+</button> 单价:<span class="num">14.5元</span> 总价 : <span class="num">0元</span>
        </li>
        <li>
                <button class="btn">-</button><span class="num">0</span><button class="btn">+</button> 单价:<span class="num">15.5元</span> 总价 : <span class="num">0元</span>
            </li>
    </ul>
    <p>总件数:<strong>0</strong> 总价格:<strong>0</strong>元</p>
    <script>
        var oul = document.getElementsByTagName('ul')[0];
        var oli = oul.getElementsByTagName('li');
        var str = document.querySelector('p').getElementsByTagName('strong')
        for(var i=0;i<oli.length;i++){
            fn(oli[i])
        }
       
        function fn(x){
            var btn = x.querySelectorAll('.btn');
            var num = x.querySelectorAll('.num');

            var len = parseInt(num[0].innerHTML);
            btn[1].onclick = function(){
                len++;
                fun()
                
            }
            btn[0].onclick = function(){
                len--;
                if(len<0){
                    len = 0
                }
                fun()
                
            }
        
        function fun(){
            num[0].innerHTML = len;
            num[2].innerHTML = len * parseFloat(num[1].innerHTML)+'元';
            var all = 0
            var allP = 0
            for(var i=0;i<oli.length;i++){
                all+=oli[i].querySelectorAll('.num')[0].innerHTML * 1
                allP+=parseFloat(oli[i].querySelectorAll('.num')[2].innerHTML)
            }
            str[0].innerHTML = all;
            str[1].innerHTML = allP;
        }
    }




        
    </script>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值