首页 > 编程语言 >JavaScript 实现购物车数量增加减少功能

JavaScript 实现购物车数量增加减少功能

时间:2024-10-16 11:12:18浏览次数:7  
标签:功能 max JavaScript currentValue 购物车 按钮 input btn 数量

场景描述

在实现购物车功能时,需要限制用户加购的数量必须大于0且不超过加购商品的库存量。

代码实现

下列代码中,<input></input>中使用 min 属性定义数量的最小值,max 属性定义数量的最大值。在实际开发中可以整合 springboot 和 thymeleaf,使用 th:max="${商品对象的库存量}" 将 max 的值设置为加购商品的库存量。

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>购物车功能的数量加减限制</title>
</head>

<body>
    <div class="input-counter">
        <!-- 减少按钮 -->
        <button class="minus-btn">-</button>
        <!-- 加购数量 -->
        <input type="text" name="count" value="1" min="1" max="5">
        <!-- 增加按钮 -->
        <button class="plus-btn">+</button>
    </div>

    <script>
        // 获取类名为 minus-btn 的元素 减少按钮
        const minusBtn = document.querySelector('.minus-btn');
        // 获取类名为 plus-btn 的元素 增加按钮
        const plusBtn = document.querySelector('.plus-btn');
        // 获取类名为 minus-btn 的元素 加购数量
        const input = document.querySelector('input[name="count"]');

        // 为减少按钮添加事件监听器
        minusBtn.addEventListener('click', () => {
            // 获取 input 元素的值
            let currentValue = parseInt(input.value);
            // 当值大于 input 的 min 属性值时,值 - 1
            if (currentValue > parseInt(input.min)) {
                input.value = currentValue - 1;
            }
        });
        
        // 为增加按钮添加事件监听器
        plusBtn.addEventListener('click', () => {
            // 获取 input 元素的值
            let currentValue = parseInt(input.value);
            // 当值小于 input 的 max 属性值时,值 + 1
            if (currentValue < parseInt(input.max)) {
                input.value = currentValue + 1;
            }
        });
    </script>
</body>

</html>

效果显示

点击“-”按钮,输入框中的数量减 1;点击“+”按钮,输入框中的数量加 1。
当输入框中的数量为 1 时,点击“-”按钮数量不变;另外,当数量为 5 时,点击“+”按钮数量亦不变。

标签:功能,max,JavaScript,currentValue,购物车,按钮,input,btn,数量
From: https://www.cnblogs.com/whbg/p/18468766

相关文章

  • go gorm 通用微服务反射实现通用增删改查功能
    packagepagedbimport("errors""fmt""git.ichub.com/general/webcli120/goconfig/base/basedto""git.ichub.com/general/webcli120/goconfig/base/baseutils""git.ichub.com/general/webcli120/goc......
  • 道路车辆功能安全 ISO 26262标准(4-3)—系统级产品开发
    写在前面本系列文章主要讲解道路车辆功能安全ISO26262标准的相关知识,希望能帮助更多的同学认识和了解功能安全标准。若有相关问题,欢迎评论沟通,共同进步。(*^▽^*)1.道路车辆功能安全ISO26262标准4.ISO26262-4 系统级产品开发四、项目集成和测试集成和测试阶段包括......
  • Unity Pico开发之基础功能(1)
    前言:继专栏上一篇文章搭建开发环境后,本文就射线传送(包括区域传送、锚点传送)进行介绍,操纵摇杆在场景中移动、抓取物品、旋转镜头视角等基础功能将在下一篇文章中介绍。搭建开发环境传送门:UnityPico开发之环境搭建https://blog.csdn.net/m0_74799789/article/details/14282733......
  • 前端原型链:探索 JavaScript 中的继承奥秘
    一、引言在前端开发领域,JavaScript是一门广泛应用的编程语言。而原型链作为JavaScript中一个重要的概念,对于理解JavaScript的面向对象特性和实现继承机制起着关键作用。它不仅影响着代码的组织和复用方式,还决定了对象之间的关系和属性访问规则。本文将深入探讨前端原型链......
  • 2.网工入门篇--------OSI七层模型功能介绍
    应用层:功能:应用层是最高层,直接为应用程序提供服务,与用户的交互最为紧密。它负责处理网络通信的各种应用需求,比如文件传输、电子邮件的发送和接收、网页浏览等。应用层的程序可以根据用户的需求发起通信请求,并将数据传递给下一层进行处理。举例:常见的应用层协议有HTTP(用于......
  • 大学生HTML期末大作业——HTML+CSS+JavaScript购物商城
    HTML+CSS+JS【购物商场】网页设计期末课程大作业web前端开发技术web课程设计网页规划与设计......
  • 9 管理员功能-修改图书
    1请求接口请求路径:http://localhost:8082/book/updateBook请求方式:PUT接口描述:提交登录的token信息,要求为管理员权限,根据获取的bookId来修改指定的图书相关信息。请求参数:postman中使用raw模式,提交JSON格式请求体。2修改图书后台功能实现(Java)//更新图书信息@......
  • 4S店汽车行业专业线上小程序源码系统 功能强大 带完整的安装代码包以及搭建部署教程
    系统概述随着移动互联网的迅速发展,越来越多的传统行业开始拥抱数字化转型。在汽车销售领域,4S店(即集整车销售、零配件供应、售后服务、信息反馈四位于一体的汽车服务企业)也不例外。为了更好地服务于客户,并提升自身的市场竞争力,许多4S店正积极开发或采用线上平台来拓展其业务范......
  • JavaScript进阶--节流防抖以及技巧打磨
    打磨技巧深浅拷贝只针对引用类型浅拷贝拷贝的是值,但引用数据类型的值为地址方法:Object.assign(newobj,oldobj)Array.concat(newArr,oldArr)配合展开运算符...比较复制复制相当于把将要复制对象的地址,直接进行获取,而不是创建一个新的对象,赋予属性的值和名//实......
  • 拟声 0.37.0 | 拟物风格,超级优美,功能丰富
    拟声是一款功能丰富的音视频播放器,支持多种音频来源,并具备独特的歌词弹幕、音源转换、跨设备共享与控制等功能。其创新的LRC歌词编解码器和新拟物风格的UI设计为用户提供了一个全新的视听体验。大小:36M百度网盘:https://pan.baidu.com/s/1lNmwmQHtWaOMaf281E-bKA?pwd=olx......