原生js实现淘宝购物车功能
发布时间 - 2026-01-10 22:28:10 点击率:次js淘宝购物车功能描述:

1、点击“+”,单个商品数量加1,总数量加1;单个商品价格添加,总价也添加。
2、点击“-”,单个商品数量减1,总数量减1;单个商品价格减少,总价也减少。
当该商品数量为0时,点击依然为0;
3、显示出总价,总数量和其中最贵的那个商品的价格。
瞄一眼效果图:
废话不多说,LU代码
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style>
*{padding:0;margin:0;}
#list,p{list-style:none;width:600px;margin:0 auto;}
#list li {width:600px;height:50px;line-height:50px;margin-top:20px;font-size:20px;}
#list li input{width:60px;height:40px;line-height:40px;}
.highlight{color:red;font-size:30px;font-weight:bold;}
</style>
<script>
window.onload = function () {
var oUl = $('list');
var totalNumber = $('totalNum');
var totalPrice = $('totalPrice');
var mostExpensive = $('mostExpensive');
var aLi = oUl.getElementsByTagName('li');
var maxPrice = [0];
for ( var i = 0; i < aLi.length; i++ ) {
price(aLi[i]);
}
function price(oLi) {
var aBtn = oLi.getElementsByTagName('input');
var oStrong = oLi.getElementsByTagName('strong')[0];
var oEm = oLi.getElementsByTagName('em')[0];
var oSpan = oLi.getElementsByTagName('span')[0];
aBtn[0].onclick = function () {
var num = Number(oStrong.innerHTML);
var price = parseFloat(oEm.innerHTML);
var numbers = Number(totalNumber.innerHTML);
var prices = parseFloat(totalPrice.innerHTML);
num--;
if (num === 0) {
// 如果该商品数量为0,,那么就得把它的价格从价格表中清除
var index = maxPrice.indexOf(price);
if (index > -1) maxPrice.splice(index, 1);
} else if (num < 0) {
num = 0;
return;
}
numbers--;
oStrong.innerHTML = num;
oSpan.innerHTML = num * price + '元';
totalNumber.innerHTML = numbers;
totalPrice.innerHTML = prices - (num + 1) * price;
mostExpensive.innerHTML = maxPrice[0];
}
aBtn[1].onclick = function () {
var num = Number(oStrong.innerHTML);
var price = parseFloat(oEm.innerHTML);
var numbers = Number(totalNumber.innerHTML);
var prices = parseFloat(totalPrice.innerHTML);
num++;
numbers++;
if (maxPrice.indexOf(price) < 0) {
maxPrice.push(price)
maxPrice.sort(function (a,b) {return b - a});
}
oStrong.innerHTML = num;
oSpan.innerHTML = num * price + '元';
totalNumber.innerHTML = numbers;
totalPrice.innerHTML = prices + num * price;
mostExpensive.innerHTML = maxPrice[0];
}
}
function $(id) {return document.getElementById(id);}
}
</script>
</head>
<body>
<ul id="list">
<li>
<input type="button" value="-" />
<strong>0</strong>
<input type="button" value="+" />
单价:<em>12.5元</em>
小计:<span class="highlight">0元</span>
</li>
<li>
<input type="button" value="-" />
<strong>0</strong>
<input type="button" value="+" />
单价:<em>10.5元</em>
小计:<span class="highlight">0元</span>
</li>
<li>
<input type="button" value="-" />
<strong>0</strong>
<input type="button" value="+" />
单价:<em>8.5元</em>
小计:<span class="highlight">0元</span>
</li>
<li>
<input type="button" value="-" />
<strong>0</strong>
<input type="button" value="+" />
单价:<em>8元</em>
小计:<span class="highlight">0元</span>
</li>
<li>
<input type="button" value="-" />
<strong>0</strong>
<input type="button" value="+" />
单价:<em>14.5元</em>
小计:<span class="highlight">0元</span>
</li>
</ul>
<p>
商品合计共:<span class="highlight" id="totalNum">0</span>件,
共花费了:<span class="highlight" id="totalPrice">0</span>元<br />
其中最贵的商品单是:<span class="highlight" id="mostExpensive">0</span>元
</p>
</body>
</html>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# js淘宝购物车
# js购物车
# js仿淘宝购物车
# Javascript操纵Cookie实现购物车程序
# js+cookies实现悬浮购物车的方法
# jQuery基于json与cookie实现购物车的方法
# jQuery使用cookie与json简单实现购物车功能
# 原生JS 购物车及购物页面的cookie使用方法
# 简单的前端js+ajax 购物车框架(入门篇)
# JavaScript编写一个简易购物车功能
# 利用Angularjs和bootstrap实现购物车功能
# js实现商品抛物线加入购物车特效
# 原生js+cookie实现购物车功能的方法分析
# 小计
# 该商品
# 最贵
# 量为
# 就得
# 购物车
# 淘宝
# 多说
# 大家多多
# 单是
# 无标题文档
# 花费了
# width
# px
# auto
# li
# title
# utf
# padding
# list
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel如何实现URL美化Slug功能_Laravel使用eloquent-sluggable生成别名【方法】
INTERNET浏览器怎样恢复关闭标签页_INTERNET浏览器标签恢复快捷键与方法【指南】
,网页ppt怎么弄成自己的ppt?
Laravel如何处理异常和错误?(Handler示例)
如何使用 jQuery 正确渲染 Instagram 风格的标签列表
如何在企业微信快速生成手机电脑官网?
小米17系列还有一款新机?主打6.9英寸大直屏和旗舰级影像
高配服务器限时抢购:企业级配置与回收服务一站式优惠方案
PHP怎么接收前端传的文件路径_处理文件路径参数接收方法【汇总】
Laravel如何升级到最新的版本_Laravel版本升级流程与兼容性处理
郑州企业网站制作公司,郑州招聘网站有哪些?
googleplay官方入口在哪里_Google Play官方商店快速入口指南
家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?
Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】
EditPlus中的正则表达式 实战(2)
如何快速搭建高效WAP手机网站吸引移动用户?
Laravel如何配置中间件Middleware_Laravel自定义中间件拦截请求与权限校验【步骤】
Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门
微信小程序 canvas开发实例及注意事项
如何在阿里云域名上完成建站全流程?
如何基于PHP生成高效IDC网络公司建站源码?
HTML 中如何正确使用模板变量为元素的 name 属性赋值
如何在 Python 中将列表项按字母顺序编号(a.、b.、c. …)
阿里云网站搭建费用解析:服务器价格与建站成本优化指南
潮流网站制作头像软件下载,适合母子的网名有哪些?
如何在腾讯云服务器快速搭建个人网站?
英语简历制作免费网站推荐,如何将简历翻译成英文?
Laravel如何配置.env文件管理环境变量_Laravel环境变量使用与安全管理
Java垃圾回收器的方法和原理总结
如何在局域网内绑定自建网站域名?
购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?
详解jQuery停止动画——stop()方法的使用
phpredis提高消息队列的实时性方法(推荐)
太平洋网站制作公司,网络用语太平洋是什么意思?
重庆市网站制作公司,重庆招聘网站哪个好?
JavaScript如何实现错误处理_try...catch如何捕获异常?
html如何与html链接_实现多个HTML页面互相链接【互相】
Laravel怎么创建控制器Controller_Laravel路由绑定与控制器逻辑编写【指南】
Edge浏览器如何截图和滚动截图_微软Edge网页捕获功能使用教程【技巧】
零基础网站服务器架设实战:轻量应用与域名解析配置指南
香港服务器租用费用高吗?如何避免常见误区?
历史网站制作软件,华为如何找回被删除的网站?
网站制作大概要多少钱一个,做一个平台网站大概多少钱?
手机软键盘弹出时影响布局的解决方法
Laravel Admin后台管理框架推荐_Laravel快速开发后台工具
如何续费美橙建站之星域名及服务?
怎样使用JSON进行数据交换_它有什么限制
*服务器网站为何频现安全漏洞?
如何快速上传建站程序避免常见错误?
javascript如何操作浏览器历史记录_怎样实现无刷新导航

