Web全栈~17.购物车案例(JavaScript动态效果)

上一期

前言

前三期已经对购物车的样式绘制完毕,那么这一期就用JavaScript来实现动态效果。

全选

思路

可以在input标签里,添加单击事件,并且传递一个this。这个this就会把input本身传递过去。

<li><input type="checkbox"  id="all" onclick="cheAllFlag(this)"/>全选
</li>
function cheAllFlag(th){//判断本身是否被点击var flag = th.checked;alert(flag);
}

确认用户点击之后,就在下面每个框都加一个name。注意这个name必须都叫一样的名字才好判断。接着使用for循环遍历就行了~

function cheAllFlag(th){//判断全选框是否被勾选var flag = th.checked;//获得所有的多选框叫fav的对象var fav = document.getElementsByName("fav");//for循环遍历,如果用户点击了全选那么flag就是true,用户没点击那么flag就是falsefor(var i in fav){fav[i].checked = flag;}
}

这个时候全选看似是做成功了,但是又有了一个BUG。那就是,假如用户没点全选,而是把商品的勾挨个选,这个时候全选按钮并不会自动勾上。所以这个时候就需要再写一个单击事件分别放在那些商品详情的标签里判断才行~

function checkFlag(){//默认全选var flag = true;//获得所有的多选框叫fav的对象var fav = document.getElementsByName("fav");//由于第一个和最后一个框都是全选框,所以遍历的时候就避免它们for(var i = 1; i < fav.length - 1; i++){//判断是否真的全部被勾选,如果有一个没勾选则都不需要自动勾上全选if(!fav[i].checked){//有一个没选就说明不是全选flag = false;break;}}//将第一个和最后一个框赋值fav[0].checked = flag;fav[fav.length - 1].checked = flag;
}

数量增加效果

上一期绘图的时候,忘记考虑到这点。。。所以这里进行改进。数字放在input里面,或许会更容易修改。

<li><button onclick="add(this)">+</button><input type="text" style="width: 10px;" name="data" id="data" value="1"/><button>-</button>
</li>

其实也很简单,直接拿到它,然后给加和减都各自添加一个单击事件修改就行了~

<li><button onclick="add(this)">+</button><input style="width: 10px;" value="1"/><button>-</button>
</li>
/*增加
*/
function add(th){//获得下一个节点对象(因为Input在add的下面)var nex = th.nextElementSibling;//改变节点的value值nex.value = Number (nex.value) + 1;
}
/*减少
*/
function reduce(th){//获得上一个节点对象(因为input在reduce的上面)var pre = th.previousElementSibling;//改变节点的值pre.value = Number(pre.value) - 1;
}

结算数量

原理还是和刚刚加减一样。只是选择的标签对象变了而已~

//获得每一个商品的单价
var val = nex.parentNode.nextElementSibling.innerHTML;
//计算总价格
var num = Number(val)*Number(nex.value);
//把总的价格赋值给指定的对象
nex.parentNode.nextElementSibling.innerHTML ="¥" + num;

删除结点

这个最简单,还是直接传this过来然后remove即可~

//删除指定的节点
function  checkTest4(th){//获得父节点divvar div=th.parentNode.parentNode.parentNode;div.remove();
}

Web全栈~17.购物车案例(JavaScript动态效果)相关推荐

  1. Web全栈~18.jQuery

    Web全栈~18.jQuery 上一期 jQuery是JavaScript的一个函数库,对JavaScript进行了一个封装.jQuery将常用的.复杂的操作进行函数化封装,直接调用,大大降低了使用J ...

  2. php web教程视频教程下载,Web全栈 PHP+React系列视频教程下载

    Web全栈 PHP+React系列视频教程下载 课程介绍: 此套Web全栈 PHP+React系列视频教程覆盖PHP.前端和区块链应用开发三大热门职位,教程对网络基础.前端基础(HTML CSSJav ...

  3. 开课吧python全栈靠谱么-杭州Web全栈

    Web全栈招生简章 开课吧简介 开课吧,中国有口皆碑的互联网人学习平台,为互联网从业者及潜在从业者提供O2O职业学习.就业.职业成长服务,让学习者收获互联网从业技能和能力,从而实现从"校园& ...

  4. 《web全栈工程师》:中总结的20条军规和必读书单

    作为一个前端新人,应该不断学习加强各种基础技术,而且也要多看别人的建议,别人成功的经历或许不能让你复制,但是你总能从中有所收获,身体和灵魂总要有一个在路上. 今天抱起了实习时候充充翻过的一本书< ...

  5. 【融职教育】Web全栈开发就业班核心优势

    IT技能培训行业现在是一片红海,在红海中求生存和发展就要具有一定的特色和竞争优势.本质上都是为学员提供更好的服务,提高教学品质,让学员可以学会技术,掌握足够工作技能,具有向企业交付的能力,让学员不仅可 ...

  6. Bootstrap实战练习---Web全栈课程体系(表格+巨幕)

    Bootstrap实战练习-Web全栈课程体系(表格+巨幕) 原网页效果图 连接 我的网页效果 -我的代码 <!DOCTYPE html> <html> <head> ...

  7. web全栈-第一讲:web开发基本知识点

    移动互联网时代越来越凸显前端技术重要性! 最近在学习万门教育的WEB全栈工程师零基础特训班课程. 第一讲 基本知识点 以京东网站讲解网站案例. 看网站页面先看布局,了解共性.从大处着眼.小处着手. 整 ...

  8. 苏州木渎计算机课程培训,苏州木渎H5/web全栈开发培训

    课程名称:H5/web全栈开发 课程类型:网页设计 班型:全日制/周末班/晚班 适用校区:全校区 课程详情: 由于网络的发展以及人们使用网络的频繁性,企业需要通过网页呈现产品.服务.理念.文化,或向大 ...

  9. 《Web全栈工程师的自我修养》浓缩笔记(下)

    <Web全栈工程师的自我修养>浓缩笔记(下) 2017.03.30 17:23 7912浏览 六.大前端 1. 易于上手.难于精通 不同于某些"难于上手.难于精通"的职 ...

最新文章

  1. zabbix 概念理解
  2. 【TeeChart Pro ActiveX教程】(八):ADO数据库访问(上)
  3. ISME:南农沈其荣团队基于大数据准确预测土壤的枯萎病发生
  4. 使用GridView自带分页的代码
  5. canvas-应用大全
  6. Android接口和框架学习
  7. selenium教程
  8. php挖洞提权,挖洞经验 | 看我如何发现GitHub提权漏洞获得$10000赏金
  9. 家里wifi网速越来越慢_wifi太慢怎么办?简单的操作几步就能让网速飞快
  10. 5年,14款近满分神作,这个独立团队打造了他们的游戏宇宙
  11. 3-1 Apache Shiro权限管理框架介绍
  12. 星星排序python_python中怎么实现星星排列
  13. php mongo 查询count,[PHP] 使用PHP在mongodb中进行count查询
  14. filter2D函数的.depth()变量的设定
  15. imageView 的contentMode问题
  16. 这台计算机的rsa密匙如下怎解决,win10系统使用计划任务提示账户密钥集不存在错误代码0x80090016怎么办...
  17. ios9版本的iphone,不执行网页js
  18. 2022科技公司薪酬排行榜,来了!
  19. 有什么蓝牙耳机不贵又实用?学生党适合使用的蓝牙耳机
  20. 利用Excel可视化分析,柱形图、条形图、饼图、复合饼图,圆环图、组合图、漏斗图、地图的操作方法(适合小白)

热门文章

  1. 已解决NameError: name ‘XXX‘ is not defined
  2. PointNet 翻译:
  3. Anbox之构建android.img(三)
  4. k8s调试工具--busybox
  5. 不可思议但又无处不在的漏洞,WEB安全基础入门—业务逻辑漏洞
  6. JS Decorator —— 装饰器(装饰模式)
  7. 经济类英文期刊排行榜
  8. IDEA中Tomcat乱码问题
  9. ubuntu 复制文件夹到另一目录命令
  10. 2:什么是反射与反射的应用及调用方法(by-朝夕)