热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

javascript、JSP、JS有什么区别和联系

本文主要介绍关于javascript的知识点,对【js实现购物车,原理简单,代码解释-->详细】和【javascript、JSP、JS有什么区别和联系】有兴趣的朋友可以看下由【刘先生LSS】投稿的技术

本文主要介绍关于Javascript的知识点,对【js实现购物车,原理简单,代码解释-->详细】和【Javascript、JSP、JS有什么区别和联系】有兴趣的朋友可以看下由【刘先生LSS】投稿的技术文章,希望该技术和经验能帮到你解决你所遇的【】相关技术问题。

Javascript、JSP、JS有什么区别和联系

大家在淘宝或者京东购物时,看到在选中全选按钮,或者其他商品选中,从而触发全选按钮是怎么实现的吗?

单商品的价格计算随着数量的增多减少而上升或者下降吗?

总价随着每个商品的价格相加或相减,而变化吗?

来看看下面的代码吧,实现以上所有功能。



	
		
  
		
	
	
		
  
名称 价格 数量 小计 操作
键盘 500 500
鼠标 100 100
总计

js代码:

//购物车添加数量
function add(btn) {
	//数量*价格
	//1、获取到当前数量+1,并更新input框
	var num = btn.parentElement.children[1].value;
	btn.parentElement.children[1].value = ++num;
	//2、获取单价,字符串
	var price = btn.parentElement.previousElementSibling.innerText
	//3、计算小计,并更新渲染
	var total = parseFloat(price) * num;
	btn.parentElement.nextElementSibling.innerText = total;
	
	//总计
	 calSum();
}

//购物车减去数量
function minus(btn) {
	//数量*价格
	//1、获取到当前数量+1,并更新input框
	var num = btn.parentElement.children[1].value;
	if (num == 0) {
		return;
	}
	btn.parentElement.children[1].value = --num;
	//2、获取单价,字符串
	var price = btn.parentElement.previousElementSibling.innerText
	//3、计算小计,并更新渲染
	var total = parseFloat(price) * num;
	btn.parentElement.nextElementSibling.innerText = total;
	
	//总计
	 calSum();
}

//全选和反选
var _all = document.getElementById("all");
var _sum = document.getElementById("sum");
//选出除了全选的复选框
var _boxes = document.querySelectorAll("input[type=checkbox]:not(#all)")
//全选
_all.Onclick= function() {
	//checked:获取全框的选中状态
	//this:当前的点击对象
	var status = this.checked;
	_boxes.forEach(function(tag) {
		//下边三个选框跟全选框的状态保持一致
		tag.checked = status;
	})
	calSum();
}

//单选
_boxes.forEach(function(tag) {
	tag.Onclick= function() {
		//过滤出所有被选中的复选框
		var chs = Array.from(_boxes).filter(function(item) {
			return item.checked == true;
		})
		//如果过滤出得选中的复选框长度等于所有复选框长度,说明全选
		_all.checked = chs.length === _boxes.length;
		
		//总计
		 calSum();
	}

})


//总计
function  calSum(){
	var sum=0;
	_boxes = document.querySelectorAll("input[type=checkbox]:not(#all)")
	var newBoxes=Array.from(_boxes).filter(function(tag){
		return tag.checked==true;
	})
	
	newBoxes.forEach(function(tag){
		sum+=parseFloat(tag.parentElement.parentElement.children[4].innerText)
	})
	
	_sum.innerText=sum;

}

看效果:

?不光要看懂理解,也要多写写,才能印象更深啊。行动起来!!!学习之余也要适当放松哦。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?有不理解的部分可以评论区留言,或者私信我哦。

本文《js实现购物车,原理简单,代码解释-->详细》版权归刘先生LSS所有,引用js实现购物车,原理简单,代码解释-->详细需遵循CC 4.0 BY-SA版权协议。


推荐阅读
  • 前端判断登陆页面输入是否符合要求 ... [详细]
  • Ihaveaforminadirectivetemplate:我在指令模板中有一个表单:<formn ... [详细]
  • Ihavethefollowingonhtml我在html上有以下内容<html><head><scriptsrc..3003_Tes ... [详细]
  • 开发笔记:jquery1.6中的.prop()和.attr()异同
    本文由编程笔记#小编为大家整理,主要介绍了jquery1.6中的.prop()和.attr()异同相关的知识,希望对你有一定的参考价值。最近在iteye的新闻中看到jQuery ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • 本文介绍了一个在线急等问题解决方法,即如何统计数据库中某个字段下的所有数据,并将结果显示在文本框里。作者提到了自己是一个菜鸟,希望能够得到帮助。作者使用的是ACCESS数据库,并且给出了一个例子,希望得到的结果是560。作者还提到自己已经尝试了使用"select sum(字段2) from 表名"的语句,得到的结果是650,但不知道如何得到560。希望能够得到解决方案。 ... [详细]
  • springmvc学习笔记(十):控制器业务方法中通过注解实现封装Javabean接收表单提交的数据
    本文介绍了在springmvc学习笔记系列的第十篇中,控制器的业务方法中如何通过注解实现封装Javabean来接收表单提交的数据。同时还讨论了当有多个注册表单且字段完全相同时,如何将其交给同一个控制器处理。 ... [详细]
  • 猜字母游戏
    猜字母游戏猜字母游戏——设计数据结构猜字母游戏——设计程序结构猜字母游戏——实现字母生成方法猜字母游戏——实现字母检测方法猜字母游戏——实现主方法1猜字母游戏——设计数据结构1.1 ... [详细]
  • 表单提交前的最后验证:通常在表单提交前,我们必须确认用户是否都把必须填选的做了,如果没有,就不能被提交到服务器,这里我们用到表单的formname.submit()看演示,其实这个对于我们修炼道 ... [详细]
  • ASP.NET MVC验证标注的扩展checkbox必选
    我们知道ASP.NETmvc提供一些表单的验证标注,比如必填属性RequiredAttribute但是这个属性不适合选择框的必选但是很多时候,我们却是需要一些必选的单选框比如网站注 ... [详细]
  • 用JavaScript实现的太空人手表
    用JavaScript实现的太空人手表-JS写的太空人手表,没有用canvas、svg。主要用几个大的函数来动态显示时间、天气这些。天气的获取用到了AJAX请求。代码中有详细的注释 ... [详细]
  • 但有时候,需要当某事件触发时,我们先做一些操作,然后再跳转,这时,就要用JAVASCRIPT来实现这一跳转功能。下面是具体的做法:一:跳转到新页面,并且是在新窗口中打开时:复制代码代码如下:fu ... [详细]
author-avatar
美丽容颜L_738
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有