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 ...
随机推荐
- Redis命令行之Zset
一.Redis之Zset简介 1. 有序集合Zset是String类型的有序集合. 2. Zset中每个元素都会关联一个double类型的分数值,redis通过分数值来为集合中所有成员进行从小到大排序 ...
- Linux主机被SSH精神病(Psychos)暴力攻破后成为肉鸡的攻防过程
近日公司局域网突然变得非常慢,上网受到很大影响,不仅仅是访问互联网慢,就连访问公司内部服务器都感到异常缓慢.于是对本局域网网关进行测试: $ ping 10.10.26.254 发现延时很大, ...
- SSM框架笔记
配置 Project结构 SpringMVC启用 Spring MVC配置 Spring自己主动扫描 getBean的方法 SpringMVC与Struts2的差别 Log4j 拦截器与过滤器 文件U ...
- 前端编程提高之旅(十)----表单验证插件与cookie插件
实际项目开发中与用户交互的常见手法就是採用表单的形式.取得用户注冊.登录等信息.而当用户注冊或登录后又须要记住用户的登录状态.这就涉及到经常使用的两个操作:表单验证与cookie增删查找. ...
- Visual Studio VS如何统计代码行数
编辑-查找和替换-在文件中查找,然后查找内容填写下面的东西,勾选使用正则表达式,点击查找全部 b*[^:b#/]+.*$ 在查找结果的最后一行显示了总的行数和文件数 ...
- Java类载入器(二)——自己定义类载入器
用户定制自己的ClassLoader能够实现以下的一些应用: 自己定义路径下查找自己定义的class类文件,或许我们须要的class文件并不总是在已经设置好的Classpath以下,那么我们必须想 ...
- SDIO总线(一)
SDIO接口是在SD内存卡接口的基础上发展起来的接口.SDIO接口兼容曾经的SD内存卡.而且能够连接SDIO接口的设备. SDIO1.0标准定义了两种类型的SDIO卡: 1.全速的SDIO卡.传输率能 ...
- 【转载】TCP粘包问题分析和解决(全)
TCP通信粘包问题分析和解决(全) 在socket网络程序中,TCP和UDP分别是面向连接和非面向连接的.因此TCP的socket编程,收发两端(客户端和服务器端)都要有成对的socket,因此,发送 ...
- 2015-03-12---外观模式,建造者模式(附代码),观察者模式(附代码),boost库应用
今天白天主要看了boost库的应用,主要是经常使用的一些库,array,bind,function,regex,thread,unordered,ref,smartpointers库,晚上看了看设计模 ...
- Material Design (四),AppBarLayout的使用
前言 AppBarLayout,顾名知意.就是用来给AppBar布局的容器,是LinearLayout的子类.而AppBar就包括我们通常所知道的ActionBar,Toolbar. AppBarL ...