jq购物车结算功能
css
*{font-style: normal}
.gw{margin: 8px;}
.gw::after{display: block;clear: both;content: '';margin: 10px;}
.gw_num{border: 1px solid #dbdbdb;width: 110px;line-height: 26px;overflow: hidden;float: left;}
.gw_num em{display: block;height: 26px;width: 26px;float: left;color: #7A7979;border-right: 1px solid #dbdbdb;text-align: center;cursor: pointer;font-style: normal}
.gw_num .num{display: block;float: left;text-align: center;width: 52px;font-style: normal;font-size: 14px;line-height: 24px;border: 0;}
.gw_num em.add{float: right;border-right: 0;border-left: 1px solid #dbdbdb;}
p{margin: 4px;padding: 0}
.choose,.qx{float: left;width: 20px;height: 20px;border: 1px solid #ccc; border-radius: 100%;margin-right: 10px;}
.choose-on, .qx-on{background: url(./on.png) no-repeat center center;background-size: 100%;}
<div class="zong">
<div class="gw">
<div class="choose"></div>
<div class="gw_num">
<em class="jian">-</em>
<input type="text" value="0" class="num"/>
<em class="add">+</em>
</div>
<p>单价<i>20</i>元 总金额:¥<span>0</span></p>
<div class="del">删除</div>
</div>
<div class="gw">
<div class="choose"></div>
<div class="gw_num">
<em class="jian">-</em>
<input type="text" value="0" class="num"/>
<em class="add">+</em>
</div>
<p>单价<i>40</i>元 总金额:¥<span>0</span></p>
<div class="del">删除</div>
</div>
<div class="gw">
<div class="choose"></div>
<div class="gw_num">
<em class="jian">-</em>
<input type="text" value="0" class="num"/>
<em class="add">+</em>
</div>
<p>单价<i>40</i>元 总金额:¥<span>0</span></p>
<div class="del">删除</div>
</div>
<div class="gw">
<div class="choose"></div>
<div class="gw_num">
<em class="jian">-</em>
<input type="text" value="0" class="num"/>
<em class="add">+</em>
</div>
<p>单价<i>40</i>元 总金额:¥<span>0</span></p>
<div class="del">删除</div>
</div>
<div>
<div class="qx"></div>
<span>全选</span><span class="gs"></span>
<p class="a">金额总计:<span>0</span></p>
</div>
</div>
js
$(function(){
$('.add').click(function(){
var n = $(this).prev().val()
var num = parseInt(n) + 1;
if(n == 5){num = 5} //设置最大数量 5
$(this).prev().val(num);
var money = $(this).parents('.gw').find('i').text()
var sum = money * num
var p = $(this).parents('.gw').find('span').text(sum)
// console.log(p)
// var Sum = $(this).parents('.zong').find('.a > span').text(sum)
// console.log(Sum)
jiesuan()
})
$('.jian').click(function(){
var n = $(this).next().val();
var num = parseInt(n) - 1;
if(n == 0){num = 0} //设置最小数量 0
console.log(num)
$(this).next().val(num);
var money = $(this).parents('.gw').find('i').text()
var sum = money * num
var p = $(this).parents('.gw').find('span').text(sum)
jiesuan()
})
//选中
$('.choose').click(function(){
$(this).toggleClass('choose-on')
// console.log('aa')
jiesuan()
xz()
qx()
})
//全选
$('.qx').click(function(){
$(this).toggleClass('qx-on')
if($(this).is('.qx-on')){
$('.choose').addClass('choose-on')
}else{
$('.choose').removeClass('choose-on')
}
jiesuan()
qx()
})
//删除
$('.del').click(function(){
if(confirm('确定删除商品')){
$(this).parents('.gw').remove()
}
jiesuan()
qx()
// console.log(a)
})
})
function jiesuan(){
var num = 0;
// alert('aa')
$('.gw').each(function(){
if($(this).find('.choose').is('.choose-on')){
//获取物品单价
var dj = $(this).find('i').text()
//获取物品数量
var sl = $(this).find('.num').val()
//合计
var hj = dj * sl
num += hj;
}
})
$('.a>span').text(num)
}
//单选--全选中
function xz(){
var choose = $('.choose')
var choose_on = $('.choose-on')
if(choose.length == choose_on.length){
$('.qx').addClass('qx-on')
}else{
$('.qx').removeClass('qx-on')
}
}
//全选
function qx(){
$('.gs').text(' ')
var a = $('.choose-on').length;
$('.gs').text(a)
if(a > 0){
$('.gs').prev().text('已选')
}else{
$('.gs').prev().text('全选')
}
}

jq购物车结算功能的更多相关文章
- 原生JS实现购物车结算功能代码+zepto版
html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3 ...
- 微信小程序——购物车结算
项目需要做个购物车结算功能,先分析需求: 1.全选,反选的功能.当选中的个数 = 购物车的数量时,勾选全选按钮,反之则取消选中全选按钮: 2.改变选中状态时,计算总价和总数量: 3.单个产品的数量加减 ...
- 使用jQuery制作一个简易的购物车结算流程
因为今天下午时候在网上买了东西,在结算界面的时候突发奇想的也想自己动手做一个结算界面,当然了,只是一个最简易的结算界面,有商品数量的加减,有单价和小计,单个多个删除,全选和区县全选等等一些小功能,我在 ...
- python3 练习题(用函数完成登录注册以及购物车的功能)
''' 用函数完成登录注册以及购物车的功能 作业需求: 1,启动程序,用户可选择四个选项:登录,注册,购物,退出. 2,用户注册,用户名不能重复,注册成功之后,用户名密码记录到文件中. 3,用户登录, ...
- JS实现购物车动态功能
整理了一下当时学js写的一些案例,觉得购物车功能在一般网站比较常见且基础,现在把它整理出来,需要的小伙伴可以参考一下. 该案例购物车主要功能如下: 1. 商品单选.全选.反选功能 2. 商品添加.删除 ...
- python实现简单的循环购物车小功能
python实现简单的循环购物车小功能 # -*- coding: utf-8 -*- __author__ = 'hujianli' shopping = [ ("iphone6s&quo ...
- jquery-防多店铺购物车结算全选,单选,及删除,价格计算
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- 微信小程序 - 实现购物车结算
示例源码下载:小程序-实现购物车结算
- spring boot:用rocketmq消息订阅实现删除购物车商品功能(spring boot 2.3.3)
一,为什么要使用消息队列实现删除购物车商品功能? 消息队列主要用来处理不需要立刻返回结果的业务, 常见的例子: 用户在下单后,要清除原购物车中的商品, 这个处理过程不需要马上实现也不需要返回结果给用户 ...
随机推荐
- BAT 前端开发面经 —— 吐血总结 前端相关片段整理——持续更新 前端基础精简总结 Web Storage You don't know js
BAT 前端开发面经 —— 吐血总结 目录 1. Tencent 2. 阿里 3. 百度 更好阅读,请移步这里 聊之前 最近暑期实习招聘已经开始,个人目前参加了阿里的内推及腾讯和百度的实习生招聘, ...
- 【Unity 3D】学习笔记三十六:物理引擎——刚体
物理引擎就是游戏中模拟真是的物理效果.如两个物体发生碰撞,物体自由落体等.在unity中使用的是NVIDIA的physX,它渲染的游戏画面很逼真. 刚体 刚体是一个很很中要的组件. 默认情况下,新创的 ...
- HDFS01
==============NameNode============== 管理文件系统的命名空间 记录每个文件数据在各个DataNode上的位置和副本信息 协调客户端对文件的访问 NameNode文件 ...
- go语言笔记——go环境变量goroot是安装了路径和gopath是三方包路径
Go 环境变量 Go 开发环境依赖于一些操作系统环境变量,你最好在安装 Go 之间就已经设置好他们.如果你使用的是 Windows 的话,你完全不用进行手动设置,Go 将被默认安装在目录 c:/go ...
- 开发PL/SQL子程序和包及使用PL/SQL编写触发器、在JDBC中应用Oracle
1. 子程序的各个部分: 声明部分.可执行部分.异常处理部分(可选) 2.子程序的分类: A. 过程 - 执行某些操作 a. 创建过程的语法: CREATE [OR REPLACE] PROC ...
- 自动生成Makefile的全过程详解
一.简介 Linux下的程序开发人员,一定都遇到过Makefile,用make命令来编译自己写的程序确实是很方便.一般情况下,大家都是手工写一个简单Makefile,如果要想写出一个符合自由软件惯例的 ...
- 40. combo的displayField和valueField属性
转自:https://xsl2007.iteye.com/blog/773464 下拉框combo可以设置displayField和valueField属性,这两个值值相当于Java中的map,一个键 ...
- J20170618-hm
番兵(ばんぺい) 哨兵 後始末 善后
- sql简单学习---备忘
2:Hibernate public boolean deleteFlowerById(int id) { Session session = sessionFactory.openSession() ...
- [App Store Connect帮助]三、管理 App 和版本(2.2)输入 App 信息:设置 App 分级
您必须设置 App 分级,这是一项平台版本信息属性,用于在 App Store 上实施家长控制.App Store Connect 提供了一份内容描述列表,通过该列表,您可以确定相应内容在您 App ...