前端学习(2338):记录解决问题的一次

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title></title><style type="text/css">#f {font-size: 50px;font-family: 幼圆;}#btn {width: 50px;height: 30px;opacity: 0.5;background-color: palegoldenrod;}#btn:hover {background-color: burlywood;opacity: 1;}.fonts {line-height: 200px;float: right;font-family: 幼圆;font-size: 20px;}.fontss {line-height: 200px;font-size: 30px;text-align: center;font-family: 幼圆;}.fontsss {line-height: 200px;font-size: 30px;font-family: 幼圆;}.trs:hover {background-color: steelblue;}.a {float: left;text-align: center;line-height: 20px;}#wind {width: 100px;height: 50px;}#last-delete {width: 60px;height: 40px;}#num {color: red;}#main-num {color: red;}.delete-btn:hover {background-color: brown;}.divbtn {width: 25px;height: 17px;background-color: lightsteelblue;}.minus {font-weight: bold;font-size: 12px;text-align: center;}.add {font-weight: bold;font-size: 12px;text-align: cente}#wind:hover {background-color: seagreen;}.delete-btn {height: 100px;width: 90px;opacity: 1;}.td {position: relative;}.foodsbtn {background-color: lightsteelblue;}#aaa {font-size: 60px;font-family: 幼圆;text-align: center;}</style>
</head><body bgcolor="#B0C4DE"><button id="btn">返回</button><center><div id="as"><p id="aaa">◾购物车◾</p></div><div id="fater"><table border="1"><tr bgcolor="steelblue"><th><input type="checkbox" class="checkall">全选</th><th width="600 px" height="30px">商品</th><th width="200px" height="30px">单价</th><th width="250px" height="30px">数量</th><th width="100px" height="30px">小计</th><th width="100px" height="30px">操作</th><tr class="trs"><td><input type="checkbox" class=" foodsbtn"></td><td width="600px" height="260px" valign="center "><img src="img/伍六七.png" width="400px" height=100%><p class="fonts">特价伍六七</p></td><td width="200px" height="260px"><p class="fontss">99</p></td><td width="250px" height="260px"><center><span class="minus" style="cursor:pointer">➖</span><input type="text" class="divbtn" value="1" /><span class="add" style="cursor:pointer" value="1">➕</span></center></td><td width="100px" height="260px"><p class="fontsss">0</p></td><td width="100px" height="260px"><p class="fontsss"><button class="delete-btn">删除</button></p></td></tr><tr class="trs"><td><input type="checkbox" class="foodsbtn"></td><td width="600px" height="260px"><img src="img/姜主任.png" width="400px" height=100%><p class="fonts">新品姜主任</p></td><td width="200px" height="260px"><p class="fontss">599</p></td><td width="250px" height="260px"><center><span class="minus" style="cursor:pointer">➖</span><input type="text" class="divbtn" value="1" /><span class="add" style="cursor:pointer">➕</span></center></td><td width="100px" height="260px"><p class="fontsss">0</p></td><td width="100px" height="260px"><p class="fontsss"><button class="delete-btn">删除</button></p></td></tr><tr class="trs"><td><input type="checkbox" class="foodsbtn"></td><td width="600px" height="260px"><img src="img/梅花十三1.png" width="400px" height=100%><p class="fonts">特价梅花十三</p></td><td width="200px" height="260px"><p class="fontss">199</p></td><td width="250px" height="260px"><center><span class="minus" style="cursor:pointer">➖</span><input type="text" class="divbtn" value="1" /><span class="add" style="cursor:pointer">➕</span></center></td><td width="100px" height="260px"><p class="fontsss">0</p></td><td width="100px" height="260px"><p class="fontsss"><button class="delete-btn">删除</button></p></td></tr><tr class="trs"><td><input type="checkbox" class="foodsbtn"></td><td width="600px" height="260px"><img src="img/梅花十三2.png" width="400px" height=100%><p class="fonts">正品梅花十三</p></td><td width="200px" height="260px"><p class="fontss">699</p></td><td width="250px" height="260px"><center><span class="minus" style="cursor:pointer">➖</span><input type="text" class="divbtn" value="1" /><span class="add" style="cursor:pointer"> ➕</span></center></td><td width="100px" height="260px"><p class="fontsss">0</p></td><td width="100px" height="260px"><p class="fontsss"><button class="delete-btn">删除</button></p></td></tr><table><tr bgcolor="steelblue"><th width="10px" height="50px"><input type="checkbox" class="checkall"></th><th width="50x" height="50px"><p id="a">全选</p></th><th width="850px" height="20px"><button id="last-delete4">删除</button></th><th width="200px" height="50px">已选商品<span id="num">0</span>件<button id="other"></button></th><th width="100px" height="50px">合计:<span id="main-num">0</span>元</th><th width="100px" height="50px"><button id="wind">结算</button></th></tr></table></table></div></center><script type="text/javascript">//全选var checkall = document.querySelectorAll(".checkall");var foodsbtn = document.querySelectorAll(".foodsbtn");//首先历遍两次for循环,第一次i=1是对各全选第二次i=2是第二个全选,然后判断input的状态(onchange函数的意思是改变input是所触发大的函数。点击input也是改变input)//如果点击input执行函数,经历第一次历遍foodsbtn长度的函数,定义每一个单选按钮,让他们的的单击状态跟这个按钮一样,就是定义onchange的按钮(也就是最外层的函数)//在经历第二次历遍,历遍的是两个全选按钮,让这两个按钮的点击状态跟最外层函数的点击状态一样//判断点击状态,开始经历两次for函数的历遍第一次是全部单选按钮跟最外层的函数点击状态一样,第一次历遍是历遍两个全选按钮,让他跟这个按钮的点击状态一样for (var i = 0; i < checkall.length; i++) {checkall[i].onchange = //this指的是这个function() {for (var i = 0; i < foodsbtn.length; i++) {foodsbtn[i].checked = this.checked;}for (var i = 0; i < checkall.length; i++) {checkall[i].checked = this.checked; //this指的是 }totalprice(); //?????????????????????	}}//设置每个按钮的事件,上面的是设置全选按钮的事件//设置每个单选按钮是否全部选中,全部选中触发全选按钮for (var i = 0; i < foodsbtn.length; i++) {foodsbtn[i].onchange = function() { //给每个按钮分发点击事件,点击每个按钮的时候都要判断一下sum是否等于foodbtn。lengthvar sum = 0;for (var i = 0; i < foodsbtn.length; i++) { //判断单选按钮的点击次数if (foodsbtn[i].checked) {sum++;}}for (var i = 0; i < checkall.length; i++) {checkall[i].checked = sum == foodsbtn.length; //判断单选按钮的点击个数是否等于foodbtn。length}totalprice() //当每个单选按钮点击的时候计算总价和总件数}}//计算总价的函数。这里会多次运用这个函数,随意把他封装起来var num = document.querySelector("#num")var divbtn = document.querySelectorAll(".divbtn");var fontss = document.querySelectorAll(".fontss");var main = document.querySelector("#main-num");function totalprice() {var sum = 0;var piece = 0;for (var i = 0; i < foodsbtn.length; i++) {if (foodsbtn[i].checked) {piece = piece + Number(divbtn[i].value);sum = sum + Number(fontss[i].innerHTML);}}num.innerHTML = piece;main.innerHTML = sum;}//设置高级按钮var add = document.querySelectorAll(".add");var minus = document.querySelectorAll(".minus");for (var i = 0; i < add.length; i++) {add[i].value = i;add[i].onclick = function() {console.log(this.value);console.log(divbtn[this.value]);console.log(i);console.log(divbtn[i]);var x = divbtn[this.value].value;x++;divbtn[this.value].value = x;totalprice()}}for (var i = 0; i < minus.length; i++) {minus[i].value = i;minus[i].onclick = function() {var x = divbtn[this.value].value;if (x < 1) {x = 0} else {x--;divbtn[this.value].value = x;totalprice()}}}</script>
</body></html>

运行结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/417082.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

URAL1553 Caves and Tunnels 树链剖分 动态树

URAL1553 维护一棵树&#xff0c;随时修改某个节点的权值&#xff0c;询问&#xff08;x,y&#xff09;路径上权值最大的点。 树是静态的&#xff0c;不过套动态树也能过&#xff0c;时限卡的严就得上树链剖分了。 还是那句话 splay的核心是splay(x) LCT的核心是access(x) 把SP…

zb——中国人发起的编程语言之序章

20181110 大背景 贸易战&#xff0c;java11收费&#xff0c;python go等百家争鸣&#xff0c;但是没有一个是中国人发起创立的语言。 思考 夜来奇想&#xff0c;java不行了还有go&#xff0c;go如果要是不行了呢&#xff1f;python等都不行了呢&#xff1f; 中国人自己发起…

华为5g鸿蒙折叠,华为再次亮剑!5G新旗舰已经确认,折叠屏+升级到鸿蒙2.0,价格过万...

每年华为有两个新机上市高峰期&#xff0c;一个是年初的P系列发布之后&#xff0c;华为Nova系列、荣耀数字系列会跟着发布&#xff1b;另一个则是年底的华为Mate系列发布之后&#xff0c;华为Nova新系列和荣耀V系列也会一起发布。现在已经是9月底&#xff0c;再等不到一个月的时…

docker服务无法启动 神坑

背景环境 centos6 docker1.7 service docker status输出&#xff1a; docker dead but subsys locked 各种找资料 尝试&#xff1a; rm -rf /var/run/docker.* rm -rf /var/lock/subsys/docker &#xff08;备注&#xff1a;如果有需要备份的docker此处千万不要用rm -r…

apicloud,aliyunlive,测试成功

1.推流 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"maximum-scale1.0,minimum-scale1.0,user-scalable0,widthdevice-width,initial-scale1.0"><ti…

centos7 编译安装nginx 设置自启动服务 支持https

编译环境安装 yum install -y gcc-c yum install -y pcre pcre-devel yum install -y zlib zlib-devel yum install -y openssl openssl-devel 下载nginx.tar.gz 编译 tar -xzvf nginx-1.15.3.tar.gz cd nginx-1.15.3 ./configure --sbin-path/usr/local/nginx/nginx -…

idea自动补全html标签,webstorm(idea)常见自动补全方法和常用快捷键

一&#xff1a;标签自动补全&#xff1a;(1)纯标签补全例&#xff1a;输入h1,按Tab键&#xff0c;(2)纯标签地址“id”例&#xff1a;输入h1#ccg,按Tab键&#xff0c;(3)纯标签类“class”例&#xff1a;输入h1.ccg,按Tab键&#xff0c;(4)标签子标签子标签个数例&#xff1a;输…

走进netty

三月份开始看公司RPC框架的源码,发现如果要折腾明白,网络通讯这块知识必不可少.于是从如下几点开始逐步研究. 一、基础知识篇 1.Unix下5种I/O模型 Linux的内核将所有外部设备都看作一个文件来操作,对于一个文件的读写操作会调用内核提供的系统命令,返回一个fd(文件描述符),而对…

html页面text固定长度,HTML中input type=text和type=password 显示的长度不一样

springmvc下js控制表单提交(表单提交前检验&#xff0c;提交后获取json返回值)这个问题我搞了四天,终于搞懂.因为对js很不熟悉.郁闷的是后台代码出错总可以设置断点调试,前端js代码出错只能通过浏览器提供一些运行数据来分析,很不习惯. 首先说下逻辑:这是一个注册功能,我希望,注…

springboot health检查

health检查一般用于spring cloud注册中心的存活检查&#xff0c;比如spring cloud consul配置 spring:cloud:consul:discovery:register: trueinstance-id: ${spring.application.name}:${server.port}service-name: ${spring.application.name}port: ${server.port}healthChe…

Sql server日期函数操作

1、获取前一小时内的数据&#xff1a;DATEADD(HOUR,-1,GETDATE())&#xff0c;将"HOUR"替换成DAY&#xff0c;Month,YEAR就是前一天&#xff0c;前一月&#xff0c;前一年 2、获取日期部分&#xff0c;格式为&#xff1a;yyyy-MM-dd, CONVERT(CHAR(10),GETDATE(),120…

div跳转html页面底部,即使没有内容,如何强制DIV块扩展到页面底部?

在下面显示的标记中&#xff0c;我试图使内容div一直延伸到页面底部&#xff0c;但是只有在有要显示的内容时才拉伸。我要这样做的原因是&#xff0c;即使没有任何内容要显示&#xff0c;垂直边框仍会在页面下方显示。这是我的HTML&#xff1a;而我的CSS&#xff1a;body {font…

Spring Cloud Gateway去掉url前缀

主要是增加一个 route&#xff0c;其他配置不变 routes:- id: service_customeruri: lb://CONSUMERorder: 0predicates:- Path/customer/**filters:- StripPrefix1- AddResponseHeaderX-Response-Default-Foo, Default-Bar 新增的StripPrefix可以接受一个非负整数&#xff0c;对…

ZeroC ICE的远程调用框架 ASM与defaultServant,ServantLocator

ASM与defaultServant&#xff0c;ServantLocator都是与调用调度&#xff08;Dispatch&#xff09;相关的。 ASM是ServantManager中的一张二维表_servantMapMap&#xff0c;默认Servant则由_defaultServantMap和_locatorMap两张一维表维护。一个对 象可由这样的字符串指定"…