JavaScript实现购物车数量加减交互功能

作者:青柠时间:2026-10-21 22:51:46浏览:607

本文介绍如何使用JavaScript实现购物车中商品数量的加减交互效果。通过监听按钮点击事件,动态更新数量显示及总价计算,提供简洁的前端实现方案,适用于电商网站或在线商城的购物车模块开发。

购物车数量加减效果展示

界面效果如下图所示:

 购物车数量加减效果展示

核心代码实现

具体实现代码如下:


<!DOCTYPE html>
<html>
 <head>
 <meta charset="UTF-8">
 <title></title>
 <style>
  *{
  margin: 0;
  padding: 0;
  }
  body{
  overflow-y: auto;
  }
  ul{
  margin-top: 20px;
  border-top: 1px solid #666;
  }
  h1{
  width: 500px;
  margin: 0 auto;
  color: deeppink;
  height: 100px;
  line-height: 100px;
  }
  li{
  list-style: none;
  padding: 15px 0px 15px 60px;
  border-bottom:1px solid #ccc;
  font-size: 0px;
  line-height: 30px;
  /*height: 60px;*/
  }
  input[type=button],li strong,li em,li span,li div{
  height: 30px;
  font-size: 20px;
  line-height: 30px;
  text-align: center;
  }
  input[type=button],li strong
  {
  width: 60px;
  }
  li span,li em{
  width: 80px;
  background: pink;
  }
  li div{
  width: 100px;
  }
  li strong,li span,li em,li div{
  display: inline-block;
  }
 </style>
 <script>
  window.onload=function(){
  var oUl=document.getElementById('list');
  var aLi=oUl.getElementsByTagName('li');
  for(var i=0;i<aLi.length;i++){
   fn1(aLi[i]);
  }
  function fn1(aLi){
   var aBtn=aLi.getElementsByTagName('input');
   var aStrong=aLi.getElementsByTagName('strong')[0];
   var aEm=aLi.getElementsByTagName('em')[0];
   var aSpan=aLi.getElementsByTagName('span')[0];
   var num=Number(aStrong.innerHTML); //aStrong.innerHTML='0'
   var price=parseFloat(aEm.innerHTML);//aEm.innerHTML='12.9元'
   aBtn[0].onclick=function(){
   if(num>0)
   {
   num--;
   aStrong.innerHTML=num;
   aSpan.innerHTML=(num*price).toFixed(1)+'元'
   }
   }
   aBtn[1].onclick=function(){
   num++;
   aStrong.innerHTML=num;
   aSpan.innerHTML=(num*price).toFixed(1)+'元'
   }
  }
  }
 </script>
 </head>
 <body>
 <h1>点点看,仿购物车+ -效果</h1>
 <ul id="list">
  <li>
  <input type="button" value="-" />
  <strong>0</strong>
  <input type="button" value="+" />
  <div class="s1">单价:</div><em>12.9元</em>
  <div class="s1">共计:</div><span>0</span>
  </li>
  <li>
  <input type="button" value="-" />
  <strong>0</strong>
  <input type="button" value="+" />
  <div class="s1">单价:</div><em>45.7元</em>
  <div class="s1">共计:</div><span>0</span>
  </li>
  <li>
  <input type="button" value="-" />
  <strong>0</strong>
  <input type="button" value="+" />
  <div class="s1">单价:</div><em>67.5元</em>
  <div class="s1">共计:</div><span>0</span>
  </li>

  <li>
  <input type="button" value="-" />
  <strong>0</strong>
  <input type="button" value="+" />
  <div class="s1">单价:</div><em>14.7元</em>
  <div class="s1">共计:</div><span>0</span>
  </li>
  <li>
  <input type="button" value="-" />
  <strong>0</strong>
  <input type="button" value="+" />
  <div class="s1">单价:</div><em>45.6元</em>
  <div class="s1">共计:</div><span>0</span>
  </li>
  <li>
  <input type="button" value="-" />
  <strong>0</strong>
  <input type="button" value="+" />
  <div class="s1">单价:</div><em>32.4元</em>
  <div class="s1">共计:</div><span>0</span>
  </li>
 </ul>
 </body>
</html>

以上内容为本文主要介绍的部分,旨在帮助读者掌握相关技术要点。如需进一步交流或获取更多资源,欢迎持续关注本站更新。

作者最新文章