js下 Day01、DOM对象,BOM浏览器对象模型
一.初识DOM
1.什么是DOM?为什么学习DOM
2.DOM是实现js在网页实现交互的关键环节,我们的js代码就是通过DOM的方法来实现对于html内容的操作。
3.认识DOM实现了js和网页结合的原理;
4.认识DOMTREE;认识DOM的分类;
5.简单获取元素,简单事件绑定;
6.认识DOM,js,html,所运行的环境BOM;
#二.BOM简介:Browser Object Model
**1. Bom ** 是什么?
由浏览器实现的供JavaScript程序调用的一组对象
2. **Bom ** 的组成部分?
\1. Window对象表示当前浏览器窗口,是Bom的核心
\2. document对象表示当前页面文档相关信息
\3. location对象表示当前窗口地址栏相关信息
\4. history对象表示当前浏览器历史记录相关信息
\5. screen对象表示客户端屏幕相关信息
\6. navigator对象表示浏览器自身相关信息
\7. Event事件集合
#三.Window对象
所有在全局声明的变量和函数,自动成为window对象的属性和方法

#四.location对象
\1. location.href 获取或设置地址栏完整路径
\2. location.search 获取地址栏?后的参数信息
\3. location.hash 获取地址栏#后的参数信息
\4. location.reload() 刷新页面
#五.history对象
\1. history.go(n) n正数:返回历史纪录后n页 ; n负数:返回历史记录前n页 ; n为0相当于刷新页面
\2. history.back() 返回上一页
\3. history.forword() 返回下一页
#六.课堂案例
#1. 打字机
效果图
功能思路分析:
\1. 点击开始打字按钮实现打字效果
\2. 利用间歇调用定时器每隔一段时间打一个字(setIntelval)
\3. 当所有的字打完后停止打字(根据下标判断)
\4. 打字没有结束不能重复点(disabled禁用)
#2. 验证码倒计时
效果图
功能思路分析:
\1. 点击获取验证码按钮实现验证码倒计时
\2. 利用间歇调用定时器每隔一秒执行一次(setInterval)
\3. 当倒计时由初始值减到0时定制倒计时,恢复默认(根据初始值判断)
\4. 倒计时没有结束不能重复点击(disabled)

#3. 倒计时
效果图
功能思路分析:
\1. 创建一个未来时间,获取时间戳
\2. 在定时器中创建一个当前时间获取时间戳
\3. 未来时间-当前时间拿到时间差,
\4. 将时间差转换为天时分秒输出到页面

#4. 抽奖
效果图

功能思路分析:
\1. 点击抽奖按钮显示抽奖过程(setInterval)
\2. 5秒后停止抽奖(setTimeout)
\3. 停止后显示抽中奖品并从奖品数组中删除抽中的奖品( splice() )
\4. 限制抽奖次数( 计数器 )

#七.今日小结
间歇调用定时器:setInterval( function(){}, 毫秒数 ) clearInterval( 定时器名 )
超时调用定时器:setTimeout( function(){}, 毫秒数 ) clearTimeout( 定时器名 )
按钮禁用:元素.disabled
地址栏相关信息:location.href location.search
#八.作业 -- 炫彩点名器
效果图

功能点:
\1. 创建一个名单数组,将数组中的数据利用**map().join(‘’)**渲染到页面
\2. 点击开始点名按钮,显示抽奖过程(setInterval),过程中每一个li颜色随机变化
\3. 5秒后**(setTimeout)**从名单中随机(封装随机函数)点中一人高亮显示(加背景色)。
\4. 抽奖过程中按钮禁用(disabled)
#九.数组迭代方法(扩展)
#语法:
arr.forEach(function( item,index,arr){
**//item ** : 数组中的每一项
//index: 每一项对应的下标
**//arr ** 数组本身
});
#1. forEach()
相当于普通的for循环,没有返回值

#2. map()
得到每一项的返回结果组成的数组

#3. filter()
筛选出返回条件为真的项组成的数组

#4. some()
数组中只要有一项为真就返回true
#5. every()
数组中所有项为真就返回true,否则返回false
js下 Day01、DOM对象,BOM浏览器对象模型的更多相关文章
- js 中的 DOM 和 BOM
BOM浏览器对象模型 概念:Browser Object Model 组成: Window:浏览器窗口对象 Navigator:浏览器对象 screen:显示器屏幕对象 His ...
- 第一百一十一节,JavaScript,BOM浏览器对象模型
JavaScript,BOM浏览器对象模型 学习要点: 1.window对象 2.location对象 3.history对象 BOM也叫浏览器对象模型,它提供了很多对象,用于访问浏览器的功能.BOM ...
- JavaScript——BOM(浏览器对象模型),时间间隔和暂停
BOM(浏览器对象模型):能够对浏览器的窗体进行訪问和操作 1.主要的BOM体系: window------------document-------------------------------- ...
- 前端(十六)—— JavaScript盒子模型、JS动画、DOM、BOM
JS盒子模型.JS动画.DOM.BOM 一.JS盒模型 1.width | height parseInt(getComputedStyle(ele, null).getPropertyValue(' ...
- js中的DOM对象 和 jQuery对象 比较
一,二者的区别 通过 jQuery 获取的元素是一个数组,数组中包含着原生JS中的DOM对象. 总结:jQuery 就是把 DOM 对象重新包装了一下,让其具有了 jQuery 方法. 二,二者的相互 ...
- js中的DOM对象和jQuery对象的比较
1. 二者的不同之处: 通过jQuery获取的元素是一个数组, 数组中包含着原生JS中的DOM对象. 例如, 针对下面的一个div结构: <div id="Box">& ...
- JavaScirpt(JS)——BOM浏览器对象模型
一.BOM概念 BOM(Browser Object Model)即浏览器对象模型.可以对浏览器窗口进行访问和操作.使用 BOM,开发者可以移动窗口.改变状态栏中的文本以及执行其他与页面内容不直接相关 ...
- JS第三部分--BOM浏览器对象模型
一.client系列:宽高边框 二.offset系列:偏移 三.scroll系列 四.BOM的介绍 4.1.打开新窗口 4.2.location对象(本地信息对象) 4.3.history对象 4.4 ...
- js BOM浏览器对象模型
BOM即Browser Object Model,浏览器对象模型,表示浏览器窗口,所有js全局对象.函数以及变量均是window 对象的成员. 对于不同的浏览器,表示宽度和高度的方法不同: 对于IE9 ...
随机推荐
- .Net 开源项目 FreeRedis 实现思路之 - Redis 6.0 客户端缓存技术
写在开头 FreeRedis 是一款继 CSRedisCore 之后重写的 .NET redis 客户端开源组件,以 MIT 协议开源托管于 github,目前支持 .NET 5..NETCore 2 ...
- Vue3 Teleport
为什么需要 Teleport? 以 Dialog 组件为例,通常需要在一个组件中引入 Dialog 组件.然而,有时一部分逻辑属于 Dialog 所在的组件中,从技术角度来看,最好将这一部分移动到根节 ...
- mysql 分组查询
mysql 分组查询 获取id最大的一条 (1)分组查询获取最大id SELECT MAX(id) as maxId FROM `d_table` GROUP BY `parent_id` ; (2) ...
- 【AcWing 113】【交互】特殊排序——二分
(题面来自AcWing) 有N个元素,编号1.2..N,每一对元素之间的大小关系是确定的,关系不具有传递性. 也就是说,元素的大小关系是N个点与N*(N-1)/2条有向边构成的任意有向图. 然而,这是 ...
- Luogu P4306 JSOI2010 连通数
tarjan有向图缩点的基础应用.把原图中某点的连通数转化为反向图中"能够到达某点的个数".缩点后,每个新点的贡献等于 原dcc大小 * f[i] 其中f[i]表示(包括该点自身) ...
- 2017年第八届蓝桥杯【C++省赛B组】B、C、D、H 题解
可能因为我使用暴力思维比较少,这场感觉难度不低. B. 等差素数列 #暴力 #枚举 题意 类似:\(7,37,67,97,127,157\) 这样完全由素数组成的等差数列,叫等差素数数列. 上边的数列 ...
- 蓝桥杯——分组比赛(2017JavaB组第3题)
分组比赛(17JavaB3) 9名运动员参加比赛,需要分3组进行预赛. 有哪些分组的方案呢? 标记运动员为 A,B,C,... I 下面的程序列出了所有的分组方法: ABC DEF GHI ABC D ...
- Java基础教程——Date类和Calendar类
Date类和Calendar类都是关于日期的类,都在java.util包中,使用时需要import. Date java.util.Date类的对象用来表示时间和日期,用得最多的是获取系统当前日期和时 ...
- 蚂蚁上市员工人均一套大 House,阿里程序员身价和这匹配吗?
作者 | 硬核云顶宫 责编 | 伍杏玲 出品 | CSDN(ID:CSDNnews) 上周,蚂蚁集团迎来IPO,其发行价格将达到68.8元,总市值将突破2万亿元.市场对蚂蚁的成长性有着充分的信心,为了 ...
- 2. 三数之和(数组、hashset)
思路及算法: 该题与第一题的"两数之和"相似,三数之和为0,不就是两数之和为第三个数的相反数吗?因为不能重复,所以,首先进行了一遍排序:其次,在枚举的时候判断了本次的第三个数的值是 ...