简单的购物车效果

<!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()
}); });

jQuery实现购物车效果的更多相关文章

  1. Jquery实现购物车物品数量的加减特效

    今天网友翠儿在用Jquery实现购物车物品数量的加减特效的时候遇到问题来问我,我后来帮她解决了这个Jquery特效,现在把它整理出来分享给大家用,虽然功能比较简单,但是很实用. 主要包括了以下功能: ...

  2. jQuery实现购物车物品数量的加减

    基于jquery的一款代码,实现购物车数据的加减,在淘宝网.京东商城购物时时经常见到的一个功能,点击文本框两侧的“+”与“-”,就可以增加或减少文本框内的数字值,每次步长为1,当然这个是可以自己设置的 ...

  3. jQuery实现购物车计算价格功能的方法

    本文实例讲述了jQuery实现购物车计算价格功能的简易方法,做的比较简单,现分享给大家供大家参考.具体如下: 目的: <%@ page language="java" con ...

  4. PC,移动端H5实现实现小球加入购物车效果

    HTML部分: <!DOCTYPE html> <html> <head> <meta http-equiv="content-type" ...

  5. 使用session页面控制登录入口及购物车效果的实现

          由于 Session 是以文本文件形式存储在服务器端的,所以不怕客户端修改 Session 内容.实际上在服务器端的 Session 文件,PHP 自动修改 Session 文件的权限,只 ...

  6. jQuery实现放大镜效果

    1.1.1 摘要 相信大家都见过或使用过放大镜效果,甚至实现过该效果,它一般应用于放大查看商品图片,一些电商网站(例如:凡客,京东商城,阿里巴巴等)都有类似的图片查看效果. 在接下来的博文中,我们将向 ...

  7. jQuery实现购物车多物品数量的加减+总价计算

        <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3. ...

  8. jquery左右滑动效果的实现

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. 仿jQuery的siblings效果的js原生代码

    仿jQuery的siblings效果的js原生代码 <previousSibling> 属性返回选定节点的上一个同级节点(在相同树层级中的前一个节点). <nextSibling&g ...

随机推荐

  1. 如何查看linux内核中驱动的初始化顺序?

    答:通过生成的System.map可以查看到,主要关注__initcall_<module_entry_function>_init<level>,如: __initcall_ ...

  2. SQL-W3School-基础:SQL UPDATE 语句

    ylbtech-SQL-W3School-基础:SQL UPDATE 语句 1.返回顶部 1. Update 语句 Update 语句用于修改表中的数据. 语法: UPDATE 表名称 SET 列名称 ...

  3. php+mysql模糊查询功能

    一般模糊查询语句如下: SELECT 字段 FROM 表 WHERE 某字段 Like 条件 其中关于条件,SQL提供了四种匹配模式: 1,% :表示任意0个或多个字符.可匹配任意类型和长度的字符,有 ...

  4. WPF 设置TextBox为空时,背景为文字提示。

    <TextBox FontSize="> <TextBox.Resources> <VisualBrush x:Key="HelpBrush" ...

  5. 配置WEB错误页面

    项目运行时,难免会出现错误,这些错误我们不可以也不方便直接让用户看到,所以配置错误页面是非常必要的. 一下是项目的Web.xml文件,在最下方阴影部分是配置错误界面. <?xml version ...

  6. mysql大数据量下优化

    1 优化sql和索引2 增加缓存如:redis3 主从复制或主主复制,读写分离4 利用mysql自带分区表5 先做垂直拆分,将一个大系统分为多个小系统,也就是分布式6 水平切分,要选择一个合理的sha ...

  7. Spring Aop(十二)——编程式的创建Aop代理之AspectjProxyFactory

    转发地址:https://www.iteye.com/blog/elim-2397922 编程式的创建Aop代理之AspectjProxyFactory 之前已经介绍了一款编程式的创建Aop代理的工厂 ...

  8. web框架初阶

    第一站 文件结构:web--- |--home.py #页面处理函数    |--index.py #主体函数 |--indexPlus.py #主体函数加强版 |--webdaem.py #通过we ...

  9. scalaTest的初步使用

    1. 概述 ScalaTest是scala生态系统中最流行和灵活的测试工具,可以测试scala.js.java代码. 2. ScalaTest的特性 a. ScalaTest的核心是套件(suite) ...

  10. Spring switch的使用

    首先在html开始标签中引入一个属性 1 xmlns:th="http://www.thymeleaf.org" 示例代码 <div th:switch="${us ...