原生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如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】
Internet Explorer官网直接进入 IE浏览器在线体验版网址
Laravel怎么连接多个数据库_Laravel多数据库连接配置
免费网站制作appp,免费制作app哪个平台好?
ChatGPT回答中断怎么办 引导AI继续输出完整内容的方法
Laravel如何处理表单验证?(Requests代码示例)
如何挑选优质建站一级代理提升网站排名?
文字头像制作网站推荐软件,醒图能自动配文字吗?
EditPlus中的正则表达式实战(5)
长沙做网站要多少钱,长沙国安网络怎么样?
手机软键盘弹出时影响布局的解决方法
lovemo网页版地址 lovemo官网手机登录
公司门户网站制作流程,华为官网怎么做?
php打包exe后无法访问网络共享_共享权限设置方法【教程】
Swift中循环语句中的转移语句 break 和 continue
米侠浏览器网页图片不显示怎么办 米侠图片加载修复
Laravel怎么判断请求类型_Laravel Request isMethod用法
Laravel Eloquent:优雅地将关联模型字段扁平化到主模型中
Laravel怎么为数据库表字段添加索引以优化查询
如何做网站制作流程,*游戏网站怎么搭建?
网站制作壁纸教程视频,电脑壁纸网站?
如何用AWS免费套餐快速搭建高效网站?
Laravel软删除怎么实现_Laravel Eloquent SoftDeletes功能使用教程
香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南
宙斯浏览器文件分类查看教程 快速筛选视频文档与图片方法
javascript日期怎么处理_如何格式化输出
使用Dockerfile构建java web环境
Gemini手机端怎么发图片_Gemini手机端发图方法【步骤】
弹幕视频网站制作教程下载,弹幕视频网站是什么意思?
香港服务器部署网站为何提示未备案?
深入理解Android中的xmlns:tools属性
广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?
Linux系统运维自动化项目教程_Ansible批量管理实战
PHP怎么接收前端传的文件路径_处理文件路径参数接收方法【汇总】
如何在沈阳梯子盘古建站优化SEO排名与功能模块?
最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?
详解jQuery停止动画——stop()方法的使用
Windows家庭版如何开启组策略(gpedit.msc)?(安装方法)
javascript中的数组方法有哪些_如何利用数组方法简化数据处理
html5如何实现懒加载图片_ intersectionobserver api用法【教程】
Win11怎么查看显卡温度 Win11任务管理器查看GPU温度【技巧】
Laravel Asset编译怎么配置_Laravel Vite前端构建工具使用
如何在Windows虚拟主机上快速搭建网站?
Laravel怎么实现模型属性的自动加密
Laravel Pest测试框架怎么用_从PHPUnit转向Pest的Laravel测试教程
如何用PHP工具快速搭建高效网站?
儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?
Laravel怎么实现微信登录_Laravel Socialite第三方登录集成
Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】

