简单的购物车效果

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>购物车</title>
<link rel="stylesheet" type="text/css" href="css/index.css"/>
</head>
<body>
<div class="container">
<h2 style="text-align: center;">购物车</h2>
<!-- 内容部分 -->
<div class="main">
<ul>
<li>
<!-- 选择部分 -->
<label>
<input type="checkbox" name="" id="">
</label>
<!-- 产品 -->
<div class="cp">
<img src="img/timg.jpg">
</div>
<!-- 价格 -->
<div class="cp-price">
<span>32</span>
<span class="nummoneys" hidden="hidden">32</span>
</div>
<!-- 数量加减 -->
<div class="num">
<div class="sub">-</div>
<input type="number" name="" id="" value="1">
<div class="add">+</div>
</div>
</li>
<li>
<!-- 选择部分 -->
<label>
<input type="checkbox" name="" id="">
</label>
<!-- 产品 -->
<div class="cp">
<img src="img/timg.jpg">
</div>
<!-- 价格 -->
<div class="cp-price">
<span>45</span>
<span class="nummoneys" hidden="hidden">45</span>
</div>
<!-- 数量加减 -->
<div class="num">
<div class="sub">-</div>
<input type="number" name="" id="" value="1">
<div class="add">+</div>
</div>
</li>
</ul>
</div>
<!-- 结算部分 -->
<div class="footer">
<!-- 全选 -->
<div class="select-all">
<label>
<input type="checkbox" />
<span>全选</span>
</label>
</div>
<div class="left">
<div>
<font>总件数:</font>
<span class="nums">0</span>
<font>件</font>
</div>
<div>
<font>总价:</font>
<span class="moneys">¥0</span>
</div>
</div>
</div>
</div>
</body>
<script src="js/jquery-2.1.0.js"></script>
<script src="js/index.js"></script>
</html>
/* css样式 */
* {
margin:;
padding:;
list-style: none;
} .container {
width: 400px;
height: 500px;
border: 1px solid red;
margin: 0 auto;
} .container ul li {
border-bottom: 1px solid #666;
display: flex;
align-items: center;
} .container ul li .cp {
width: 80px;
height: 80px;
} .container ul li .cp img {
width: 100%;
height: 100%;
} input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
-webkit-appearance: none !important;
margin:;
} /* 数量部分 */
.num {
padding-left: 20px;
} .num div {
width: 20px;
height: 20px;
border: 1px solid #ccc;
line-height: 20px;
text-align: center;
cursor: pointer;
user-select: none;
} .num input {
width: 22px;
box-sizing: border-box;
text-align: center;
} /* 结算部分 */
.left span {
display: inline-block;
width: 10%;
text-align: center;
}
// jQuery
$(function(){
// 全选按钮
$(".select-all input").change(function(){
// 将所有的单选按钮选中
$("li label input").prop("checked",$(this).prop("checked"));
numPrice()
}); // 单选按钮
$("li label input").change(function(){
// 获取单选框的个数
var numInput=$("li label input").length;
//获取被点击后复选框的个数
var selInput=$("li label input:checked").length;
// 判断点击个数是否等于总个数
if(numInput==selInput){
$(".select-all input").prop("checked",true);
}else{
$(".select-all input").prop("checked",false);
}
numPrice()
}); // 价格及数量的计算
function numPrice(){
// 定义变量存放单个商品数量
var numBox=$(".num input");
// 定义变量存放价格和商品总数量
var money=0;
var num=0;
for (var i = 0; i < numBox.length; i++) {
if(numBox.eq(i).parents("li").find("label input").get(0).checked){
// 商品件数
num+=parseInt(numBox.eq(i).val());
// 商品价格
money+=parseFloat(numBox.eq(i).parents("li").find(".cp-price .nummoneys").text());
}
}
// 更换结算部分
$(".nums").text(num);
$(".moneys").text(money);
} // 加商品个数
$(".add").click(function(){
//获取商品个数
var addnum=parseInt($(this).parents("li").find(".num input").val());
$(this).prev().val(addnum+=1);
//计算该商品的总价格
var nummoneys=parseFloat($(this).parents("li").find(".cp-price span:first-child").text());
// 替换原价格
$(this).parents("li").find(".cp-price .nummoneys").text(addnum*nummoneys);
numPrice()
});
// 减个数
$(".sub").click(function(){
//获取商品个数
var addnum=parseInt($(this).parents("li").find(".num input").val());
if(addnum<=1){
addnum=1;
return false;
}
$(this).next().val(addnum-=1);
//计算该商品的总价格
var nummoneys=parseFloat($(this).parents("li").find(".cp-price span:first-child").text());
// 替换原价格
$(this).parents("li").find(".cp-price .nummoneys").text(addnum*nummoneys);
numPrice()
});
// 手动改变数量
$("li .num input").blur(function(){
//获取商品个数
var addnum=parseInt($(this).parents("li").find(".num input").val());
if(addnum<=1){
addnum=1;
$(this).val(addnum)
}
$(this).next().val(addnum-=1);
//计算该商品的总价格
var nummoneys=parseFloat($(this).parents("li").find(".cp-price span:first-child").text());
// 替换原价格
$(this).parents("li").find(".cp-price .nummoneys").text(addnum*nummoneys);
numPrice()
}); });

最新文章

  1. iOS delegate
  2. UEFI引导在GPT分区下安装win2008——抓住那只傲娇的win2008
  3. select 一直返回0
  4. jQuery常规选择器
  5. linq lambda GroupBy 用法
  6. SQL创建函数及应用
  7. TDD三大定律
  8. 如何使用cocos2dx-jsbinding 来处理分辨率适配
  9. 批处理添加iis wpg、users对IIS的访问权限
  10. Android kernel LOGO的更换方法
  11. Android 应用退到后台
  12. ch2-vue实例(new Vue({}) 属性与方法 声明周期)
  13. 2017ecjtu-summer training #11 POJ 1018
  14. OpenCV鼠标滑轮事件
  15. 内置函数值 -- chr() ord() -- 字符和ascii的转换
  16. RocketMQ_问题_启动控制台console报错,connect to &lt;null&gt; failed
  17. Mac包管理神器Homebrew
  18. (链表) 206. Reverse Linked List
  19. 【leetcode70】【动态规划】 爬楼梯
  20. DevExpress WinForms使用教程:新的CheckEdit样式

热门文章

  1. linux里面源码安装imagemagick库
  2. kotlin标准委托之可观察属性
  3. LSTM_Model
  4. ckpt convert to pb
  5. 阶段5 3.微服务项目【学成在线】_day04 页面静态化_04-freemarker基础-基础语法种类
  6. Qt编写自定义控件27-颜色按钮面板
  7. mongodb and 和 or 查询
  8. java引用如果是成员变量则引用本身不保存在栈上的汇编级调试证明
  9. php文件断点上传
  10. Delphi实现树型结构具体实例