js 购物车中,多件商品数量加减效果修改,实现总价随数量加减改变
<!DOCTYPE html>
<
html
>
<
head
>
<
meta
charset
=
UTF
-8 />
<
title
>无标题文档</
title
>
<
style
>
p.p_num {
width: 78px;
height: 24px;
border-top: solid 1px #d0d0d0;
position: relative;
border-bottom: solid 1px #d0d0d0;
margin-top: -3px;
}
span.sy_minus,span.sy_plus {
width: 15px;
height: 24px;
line-height: 24px;
text-align: center;
display: block;
position: absolute;
top: 0px;
font-size: 14px;
border: solid 1px #d0d0d0;
background: #ebebeb;
cursor: pointer;
border-top: none;
border-bottom: none;
}
span.sy_minus {
left: 0px;
}
span.sy_plus {
right: 0px;
}
input.sy_num {
width: 44px;
height: 18px;
line-height: 24px;
text-align: center;
position: absolute;
top: 0px;
left: 17px;
}
span.sy_num {
padding: 5px 8px;
border: solid 1px #d0d0d0;
border-left: none;
border-right: none;
cursor: pointer;
}
</
style
>
<
script
type
=
"text/javascript"
src
=
"jquery-1.8.0.min.js"
></
script
>
<
script
type
=
"text/javascript"
>
$(document).ready (function ()
{
var pl = $("p:last");
var reg = /(.*[\:\:]\s*)([\+\d\.]+)(\s*元)/g;
$ (".sy_minus").click (function ()
{
var me = $ (this), txt = me.next (":text"), pc = me.closest("p");
var val = parseFloat (txt.val ());
val = val < 1 ? 1 : val;
txt.val (val - 1);
var price = parseFloat (pc.prev("p").text().replace(reg,'$2')) * txt.val ();
pc.next("p").text (pc.next("p").text().replace(reg, "$1" + price + "$3"));
var sum = 0;
$(".p_num").next("p").each(function (i, dom)
{
sum += parseFloat ($(this).text().replace(reg, "$2"));
});
pl.text(pl.text().replace(reg, "$1" + sum + "$3"));
});
$(".sy_plus").click (function ()
{
var me = $ (this), txt = me.prev (":text"), pc = me.closest("p");
var val = parseFloat (txt.val ());
txt.val (val + 1);
var price = parseFloat (pc.prev("p").text().replace(reg,'$2')) * txt.val ();
pc.next("p").text (pc.next("p").text().replace(reg, "$1" + price + "$3"));
var sum = 0;
$(".p_num").next("p").each(function (i, dom)
{
sum += parseFloat ($(this).text().replace(reg, "$2"));
});
pl.text(pl.text().replace(reg, "$1" + sum + "$3"));
});
})[0].onselectstart = new Function ("return false");
</
script
>
</
head
>
<
body
>
<
div
class
=
""
>
<
p
class
=
""
>单价:36元</
p
>
<
p
class
=
"p_num"
>
<
span
class
=
"sy_minus"
id
=
"sy_minus_gid1"
>-</
span
>
<
input
class
=
"sy_num"
id
=
"sy_num_gid1"
readonly
=
"readonly"
type
=
"text"
name
=
"number1"
value
=
"1"
/>
<
span
class
=
"sy_plus"
id
=
"sy_plus_gid1"
>+</
span
>
</
p
>
<
p
class
=
""
>需支付:36元</
p
>
</
div
>
<
div
class
=
""
>
<
p
class
=
""
>单价:58元</
p
>
<
p
class
=
"p_num"
>
<
span
class
=
"sy_minus"
id
=
"sy_minus_gid2"
>-</
span
>
<
input
class
=
"sy_num"
id
=
"sy_num_gid2"
readonly
=
"readonly"
type
=
"text"
name
=
"number1"
value
=
"1"
/>
<
span
class
=
"sy_plus"
id
=
"sy_plus_gid2"
>+</
span
>
</
p
>
<
p
class
=
""
>需支付:58元</
p
>
</
div
>
<
p
class
=
""
>总共需要支付:94元</
p
>
</
body
>
</
html
>
js 购物车中,多件商品数量加减效果修改,实现总价随数量加减改变的更多相关文章
- jquery 页面加载效果
30个jquery 页面加载效果 30个jquery 页面加载效果 30 CSS Page Preload Animations 加载效果列表 Square Animations Demo 1 ...
- 071——VUE中vuex之使用getters计算每一件购物车中商品的总价
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 070——VUE中vuex之使用getters计算每一件购物车中商品的总价
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 利用 jQuery 操作页面元素的方法,实现电商网站购物车页面商品数量的增加和减少操作,要求单项价格和总价随着数量的改变而改变
查看本章节 查看作业目录 需求说明: 利用 jQuery 操作页面元素的方法,实现电商网站购物车页面商品数量的增加和减少操作,要求单项价格和总价随着数量的改变而改变 当用户单击"+" ...
- 服务器文档下载zip格式 SQL Server SQL分页查询 C#过滤html标签 EF 延时加载与死锁 在JS方法中返回多个值的三种方法(转载) IEnumerable,ICollection,IList接口问题 不吹不擂,你想要的Python面试都在这里了【315+道题】 基于mvc三层架构和ajax技术实现最简单的文件上传 事件管理
服务器文档下载zip格式 刚好这次项目中遇到了这个东西,就来弄一下,挺简单的,但是前台调用的时候弄错了,浪费了大半天的时间,本人也是菜鸟一枚.开始吧.(MVC的) @using Rattan.Co ...
- 动态加载JS过程中如何判断JS加载完成
在正常的加载过程中,js文件的加载是同步的,也就是说在js加载的过程中,浏览器会阻塞接下来的内容的解析.这时候,动态加载便显得尤为重要了,由于它是异步加载,因此,它可以在后台自动下载,并不会妨碍其它内 ...
- js中对arry数组的各种操作小结 瀑布流AJAX无刷新加载数据列表--当页面滚动到Id时再继续加载数据 web前端url传递值 js加密解密 HTML中让表单input等文本框为只读不可编辑的方法 js监听用户的键盘敲击事件,兼容各大主流浏览器 HTML特殊字符
js中对arry数组的各种操作小结 最近工作比较轻松,于是就花时间从头到尾的对js进行了详细的学习和复习,在看书的过程中,发现自己平时在做项目的过程中有很多地方想得不过全面,写的不够合理,所以说啊 ...
- 使用js获取checkbox控件在GridView中的第几行
这次的知识点是如何使用js获取checkbox控件所在的是第几行!!! 我们可以使用 JavaScript 中自带的 rowIndex 和 cellIndex 来获取行和列的键值 (从0开始) 这两个 ...
- JS文件中加载jquery.js
原文链接:http://blog.csdn.net/whatday/article/details/39553451 最近有一个需求: 1.在一个html中只能引入一个JS文件 不能有JS代码和其他J ...
随机推荐
- 阻塞IO下的echo回显实验
我们只关心代码中的业务逻辑和底层阻塞原因 客户端代码 发送数据 std::string message(len, 'S'); int nw = stream->sendAll(message.c ...
- #ifdef #endif #if #endif
c语言里所有以#开头的都是预编译指令,就是在正式编译之前,让编译器做一些预处理的工作. #ifdef DEBUG printf("variable x has value = %d\n&qu ...
- [BOI2007] Sequence
题目描述 对于一个给定的序列a1, …, an,我们对它进行一个操作reduce(i),该操作将数列中的元素ai和ai+1用一个元素max(ai,ai+1)替代,这样得到一个比原来序列短的新序列.这一 ...
- centos6.5编译安装gearmand Job Server(C)
1)下载安装包: wget https://launchpad.net/gearmand/1.2/1.1.12/+download/gearmand-1.1.12.tar.gz 2)安装编译器: yu ...
- nuxt.js 加百度统计
Mark一下: 在 Nuxt.js应用中使用Google统计分析服务,或者百度统计分析服务,推荐在 plugins 目录下创建 plugins/ga.js 文件.统计统计分析我们可以获取网站pv,uv ...
- cocos2d-x改底层之获取UIListView的实际内容大小
实际项目中UI界面中常常会用到UIListView.大多会在CocoStudio中直接加入这个控件. 可是在使用中发现了一些坑和功能缺乏,然后就看了一下底层的逻辑,发现略微改一下底层就能够满足需求,所 ...
- 一根数据线玩转树莓派Zero
0. 前言 原创文章,转载引用务必注明链接.水平有限,如有疏漏,欢迎指正. 本文使用Markdown写成,为获得更好的阅读体验和正常的链接.图片显示,请访问我的博客原文: http://www.cnb ...
- a#x#i#o#s封装
封装的js文件如下: /* 用于修改 axios 的一些公用配置,具体参看文档 */import axios from 'axios'import store from '@/store/index. ...
- mysql 存储过程(支持事务管理)
CREATE DEFINER=`root`@`localhost` PROCEDURE `createBusiness`(parameter1 int) BEGIN #Routine body goe ...
- Ubuntu安装教程--Win7系统中含100M保留分区
1.检查 Win7 保留分区 1)进入 Win7 打开库目录.在左側栏找到"计算机",瞄准点右键选择"管理"菜单: 2)在出来的管理面板左边找到"磁盘 ...