jQuery实现购物车效果
简单的购物车效果
<!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实现购物车效果的更多相关文章
- Jquery实现购物车物品数量的加减特效
今天网友翠儿在用Jquery实现购物车物品数量的加减特效的时候遇到问题来问我,我后来帮她解决了这个Jquery特效,现在把它整理出来分享给大家用,虽然功能比较简单,但是很实用. 主要包括了以下功能: ...
- jQuery实现购物车物品数量的加减
基于jquery的一款代码,实现购物车数据的加减,在淘宝网.京东商城购物时时经常见到的一个功能,点击文本框两侧的“+”与“-”,就可以增加或减少文本框内的数字值,每次步长为1,当然这个是可以自己设置的 ...
- jQuery实现购物车计算价格功能的方法
本文实例讲述了jQuery实现购物车计算价格功能的简易方法,做的比较简单,现分享给大家供大家参考.具体如下: 目的: <%@ page language="java" con ...
- PC,移动端H5实现实现小球加入购物车效果
HTML部分: <!DOCTYPE html> <html> <head> <meta http-equiv="content-type" ...
- 使用session页面控制登录入口及购物车效果的实现
由于 Session 是以文本文件形式存储在服务器端的,所以不怕客户端修改 Session 内容.实际上在服务器端的 Session 文件,PHP 自动修改 Session 文件的权限,只 ...
- jQuery实现放大镜效果
1.1.1 摘要 相信大家都见过或使用过放大镜效果,甚至实现过该效果,它一般应用于放大查看商品图片,一些电商网站(例如:凡客,京东商城,阿里巴巴等)都有类似的图片查看效果. 在接下来的博文中,我们将向 ...
- jQuery实现购物车多物品数量的加减+总价计算
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3. ...
- jquery左右滑动效果的实现
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 仿jQuery的siblings效果的js原生代码
仿jQuery的siblings效果的js原生代码 <previousSibling> 属性返回选定节点的上一个同级节点(在相同树层级中的前一个节点). <nextSibling&g ...
随机推荐
- 源码编译vi过程中进行配置时报“checking if compile and link flags for Python are sane... no: PYTHON DISABLED”怎么办?
答: 需要安装python开发库(如果不安装这个库,那么在配置时执行./configure --enable-pythoninterp=yes将不会生效,以至于vi的python特性并没有被开启) 如 ...
- vi启动时报错:YouCompleteMe unavailable: requires Vim 7.4.1578+如何处理?
答:源码编译安装最新的vim 以redhat为例: 1. 移除旧的vi,vim sudo yum remove vi vim -y 2. 安装ncurses库 sudo yum install ncu ...
- Qt编写自定义控件29-颜色选取面板
一.前言 这个控件主要是模仿QColorDialog对话框中的颜色选取面板,提供一个十字形状的标识器,鼠标按下开始选取颜色,移动到哪就选择该处的颜色值,对应右侧颜色条放大显示,本控件的难点就是如何绘制 ...
- Cobbler安装报错--dhcpd -t failed Exception occured: <class 'cobbler.cexceptions.CX'>
最近想玩一下自动化安装,就研究了一下cobbler,测试环境本来是想用CentOS6.X的,但是后来一想,还是想用CentOS7.X.然后就碰到坑了. 在同步cobbler配置的时候,发现了以下错误: ...
- delphi DBTreeview与数据库连接的数据存取
//操作: procedure TForm1.act_GetListExecute(Sender: TObject); begin FieldList := TStringList.create; T ...
- Elasticsearch删除数据操作,你必须知道的一些坑
前两天有同事打电话问我,说ES删除数据有没有什么坑? 我当时就问,是删索引还是删索引里的数据?她回答说是删数据,我说查出这些数据直接删除就好了,没有什么坑... 后来想想,关于ES数据的删除,之前确实 ...
- Docker使用Portainer搭建可视化界面
Portainer介绍 Portainer是Docker的图形化管理工具,提供状态显示面板.应用模板快速部署.容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作).事件日志显示.容器控制台 ...
- 15-1 shell脚本进阶
shell脚本进阶 循环 循环执行 将某代码段重复运行多次 重复运行多少次 循环次数事先已知 循环次数事先未知 有进入条件和退出条件 for, while, until for循环 for VAR i ...
- 【极简版】OpenGL 超级宝典(第五版)环境配置 VS2010
事先声明:该教程仅适用于VS2010环境下超级宝典第五版的配置 第一步:下载示例代码和环境包: 链接:https://pan.baidu.com/s/1llRRQ8ymBgMGuXp5M50pJw 提 ...
- imregionalmax imregionalmin imextendedmax imextendedmin imhmax imhmin 函数的详解 matlab中函数
BW = imregionalmax(I): 该函数获得灰度图像 I 的局部极大值,返回值BW为和原图像大小相同的二值图像,BW中元素1对应极大值,其他元素为0 BW = imregionalmax( ...