You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用HTML和JavaScript实现增减计数器时遇到错误

你的增减计数器问题排查与修复方案

嘿,我一眼就瞅出你代码里的两个小问题啦,这就帮你解决:

问题1:减号按钮逻辑错误

你写的minus函数里居然写了i += 1——这可不就点减号反而往上涨数值嘛!必须改成i -= 1才能实现“减1”的逻辑。

问题2:缺少显示计数的DOM元素

你的JavaScript代码里要更新document.getElementById("demo")的内容,但HTML里完全没有这个id的元素,代码执行时找不到目标,自然没法把计数显示出来。


修正后的完整代码

1. 修正后的JavaScript(app.js)

var i = 0; 
const plus = function(){ 
  i += 1; 
  document.getElementById("demo").innerText = i; 
} 
const minus = function(){ 
  i -= 1; // 这里改成减1,实现正确的“移除”逻辑
  document.getElementById("demo").innerText = i; 
}

2. 修正后的HTML

在按钮上方添加一个用来显示计数的元素,初始值设为0:

<!doctype html> 
<html> 
<head> 
<title> interactiveCart.io </title> 
<link rel="stylesheet" href="app.css"> 
<script src="https://kit.fontawesome.com/ecf5b6c191.js" crossorigin="anonymous"></script> 
</head> 
<body> 
<h1> Interactive Cart For Ecommerce Store </h1> 
<div class="container"> 
<img class="center" src="shopping-cart.png" alt="loading" height="300px" width="300px" > 
</br> 
<div class="container2">
<!-- 新增显示计数的元素,id对应JS里的demo -->
<p id="demo">0</p> 
<script src="app.js"></script> 
<button class="button1" onclick="plus();"> Add <i class="fa-solid fa-circle-plus"></i> </button> 
<button class="button2" onclick="minus();"> Remove <i class="fa-solid fa-circle-minus"></i> </button> 
</div> 
</div> 
</body> 
</html>

3. CSS保持不变即可

.container{
  height: 400px; 
  width: 400px; 
  background-color: rgb(240, 168, 221); 
} 
.container2{
  text-align: center; 
} 
.center {
  display: block; 
  margin-left: auto; 
  margin-right: auto; 
  width: 50%; 
}

这样修改后,点击Add按钮数值会递增,点击Remove按钮数值会递减,计数会清晰显示在按钮上方啦!

内容的提问来源于stack exchange,提问作者cyber xD

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.28 19:19:05