js下 Day05、DOM案例
一.简易购物车
效果图:

功能思路分析:
功能一:数量加减
\1. 找到所有的加号按钮,循环绑定点击事件。点击加号时让对应的数量+1 (找清楚加号和数量的关系,让数量标签的内容++)

\2. 找到所有的减号按钮,循环绑定点击事件。点击减号时让对应的数量-1 (找清楚减号和数量的关系,让数量标签的内容--)。
\3. 点击减号时,商品数量不能小于0,需要做一个判断,小于0就让数量等于0。

功能二:统计总数
\4. 点击加号和减号时还需要计算总数量和总价格:总数量即找到所有数量累加在一起;总价即将每一个商品的单价和数量相乘的结果累加在一起;最后放到页面指定盒子中。

#二.爱情转移
效果图:
功能思路分析:
功能一: 标签转移
\1. 找到左右转移按钮和左右内容盒子。
\2. 点击右按钮时,找到左盒子所有被选中的元素( querySelectorAll( ** ‘input:checked’) ),全都添加到右盒子中( appendChild() ),并且取消选中状态( item.checked = false )**。

\3. 点击左按钮时,找到右盒子所有被选中的元素( querySelectorAll( ** ‘input:checked’) ),全都添加到左盒子中( appendChild() ),并且取消选中状态( item.checked = false )**。

#三.今日小结
document.createElement() 创建节点
元素.appendChild(子节点) 末尾添加节点
parentNode 父节点
previousElementChild 上一个元素兄弟
nextElementChild 下一个元素兄弟
元素.checked 复选框选中状态
元素.removeChild(子节点) 删除节点
#四.作业
#1.完成爱情转移案例中全选反选功能
功能思路分析:
\1. 找到左全选按钮,点击左全选按钮时,左盒子中所有的复选框的状态跟全选按钮的状态保持一致( item.checked = btn.checked );
\2. 找到右全选按钮,点击右全选按钮时,右盒子中所有的复选框的状态跟全选按钮的状态保持一致( item.checked = btn.checked );
#2.简易留言板
效果图:

功能思路分析:
简单排版没有功能点击地方可以忽略
功能一:发布留言
① 创建一个标签( **document.createElement( ** ‘li’) )
② 设置标签的内容,内容为文本框的输入的值( 文本框.value )、当前时间、删除按钮
③ 添加( appendChild() )到下面的ul大盒子里
功能二:删除留言
④ 找到删除按钮,给删除按钮绑定点击事件,点击删除按钮时
将整条留言删除。即从ul中删除上面创建的标签( removeChild() )
js下 Day05、DOM案例的更多相关文章
- JS 下拉菜单案例
css代码 .nav { width: 300px; height: 400px; list-style: none; padding:; margin: 0 auto; } .nav>li { ...
- js下 Day12、案例
一.垃圾分类 效果图: 功能思路分析: 1. 鼠标按下 (1) 获取鼠标到元素的距离(e.offsetX) (2) 开启开关变量 (3) 获取事件源 (4) 记录垃圾初始位置 2. 鼠标移动 ( ...
- js下 Day11、案例
一.成绩分类 效果图: 功能思路分析: 1. 渲染数据 2. 鼠标按下开启拖拽 \1. 给成绩盒子绑定鼠标按下事件(mousedown),用事件委托做多个标签的拖拽 \2. 开启控制拖拽的变量 \3. ...
- JS对象与Dom对象与jQuery对象之间的区别
前言 通过问题看本质: 举例: js的写法:document.getElementById('save').disabled=true; 在jquery中我是这样写的 $("#save&qu ...
- js中的DOM操作汇总
一.DOM创建 DOM节点(Node)通常对应于一个标签,一个文本,或者一个HTML属性.DOM节点有一个nodeType属性用来表示当前元素的类型,它是一个整数: Element,元素 Attrib ...
- js 字符串转dom 和dom 转字符串
js 字符串转dom 和dom 转字符串 博客分类: JavaScript 前言: 在javascript里面动态创建标准dom对象一般使用: var obj = document.createE ...
- NPM酷库:jsdom,纯JS实现的DOM
NPM酷库,每天两分钟,了解一个流行NPM库. 昨天认识了一个在Node.js环境下操作HTML的库 cheerio,cheerio实现了jQuery接口,用起来十分方便.为什么不直接用jQuery呢 ...
- z-tree官方提供的下拉菜单案例
1.z-tree官方提供的下拉菜单案例 <!DOCTYPE html> <HTML> <HEAD> <TITLE> ZTREE DEMO - selec ...
- 前端(十六)—— JavaScript盒子模型、JS动画、DOM、BOM
JS盒子模型.JS动画.DOM.BOM 一.JS盒模型 1.width | height parseInt(getComputedStyle(ele, null).getPropertyValue(' ...
随机推荐
- SpringBoot整合MyBatis,HiKari、Druid连接池的使用
SpringBoot整合MyBatis 1.创建项目时勾选mybatis.数据库驱动. mysql驱动默认是8.x的版本,如果要使用5.x的版本,创建后到pom.xml中改. 也可以手动添加依赖 ...
- 让mac电脑更简单运行Windows软件的CrossOver,优势知多少?
如今,一些iPhone和iPad机型拥有Face ID功能,此功能作用允许用户通过面部识别来解锁设备.该功能还不能在Mac上使用,但是国外媒体于7月27日报道称,在公测第三版的macOS Big Su ...
- 从维基百科等网站复制数据和公式到MathType里编辑
在我们写论文的时候,经常会需要用一些实际案例以及数据,而这些数据和案例有很大一部分可以直接在网络上找到.但是有时候也会发现我们想要的内容和公式,从网页上复制粘贴后太模糊,不适合打印和投影.就需要我们将 ...
- guitar pro系列教程(十三):Guitar Pro教程之打谱使用技巧
前面我们有讲过关于{cms_selflink page='index' text='Guitar Pro'}在声音方面的一些使用技巧,Guitar Pro在打谱,试听,伴奏方面对于刚学吉他作谱的朋友们 ...
- jQuery 第十章 工具方法-高级方法 $.ajax() $.Callbacks() .....
$.ajax() $.Callbacks() $.Deferred() .then() $.when() ---------------------------------------------- ...
- Shamir秘密共享方案 (Python)
Shamir's Secret Sharing scheme is an important cryptographic algorithm that allows private informati ...
- 剑指Offer_WEEK01
剑指 Offer 03. 数组中重复的数字 思路:将数组进行排序,这样数组是一个有序的序列,然后判断两个相邻的数是否相等,是则返回相同的数 class Solution { public: int f ...
- 小叶入门之Python爬虫(一)
一.Python简洁的简介 Python是一种跨平台的计算机程序设计语言.它是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言.最初被设计用于编写自动化脚本(shell),随着版本的不断更 ...
- npm中的命令指令的参数的 简写介绍
在使用npm时,使用的的缩写 install: 缩写为i,表示安装. --global: 缩写为-g,表示:全局标识,可以在任意目录中使用该工具.全局安装. --save: 缩写为-S,表示安装的包将 ...
- odoo13之右上角弹出提示框
前言 在odoo中已经提供好了右上角弹出提示框的接口,我们只需要调用即可: 而提示框的实现又分为前端js实现和后段函数实现,前后端实现的效果相同. 实现效果图 前端实现提示框 在前端中显示提示框最常用 ...