一.初识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. 打字机

效果图

img

功能思路分析:

\1. 点击开始打字按钮实现打字效果

\2. 利用间歇调用定时器每隔一段时间打一个字(setIntelval)

\3. 当所有的字打完后停止打字(根据下标判断)

\4. 打字没有结束不能重复点(disabled禁用)

img

#2. 验证码倒计时

效果图

img

功能思路分析:

\1. 点击获取验证码按钮实现验证码倒计时

\2. 利用间歇调用定时器每隔一秒执行一次(setInterval)

\3. 当倒计时由初始值减到0时定制倒计时,恢复默认(根据初始值判断)

\4. 倒计时没有结束不能重复点击(disabled)

#3. 倒计时

效果图

img

功能思路分析:

\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

img

#5. every()

数组中所有项为真就返回true,否则返回false

img

js下 Day01、DOM对象,BOM浏览器对象模型的更多相关文章

  1. js 中的 DOM 和 BOM

    BOM浏览器对象模型   概念:Browser Object Model   组成:   Window:浏览器窗口对象   Navigator:浏览器对象   screen:显示器屏幕对象   His ...

  2. 第一百一十一节,JavaScript,BOM浏览器对象模型

    JavaScript,BOM浏览器对象模型 学习要点: 1.window对象 2.location对象 3.history对象 BOM也叫浏览器对象模型,它提供了很多对象,用于访问浏览器的功能.BOM ...

  3. JavaScript——BOM(浏览器对象模型),时间间隔和暂停

    BOM(浏览器对象模型):能够对浏览器的窗体进行訪问和操作 1.主要的BOM体系: window------------document-------------------------------- ...

  4. 前端(十六)—— JavaScript盒子模型、JS动画、DOM、BOM

    JS盒子模型.JS动画.DOM.BOM 一.JS盒模型 1.width | height parseInt(getComputedStyle(ele, null).getPropertyValue(' ...

  5. js中的DOM对象 和 jQuery对象 比较

    一,二者的区别 通过 jQuery 获取的元素是一个数组,数组中包含着原生JS中的DOM对象. 总结:jQuery 就是把 DOM 对象重新包装了一下,让其具有了 jQuery 方法. 二,二者的相互 ...

  6. js中的DOM对象和jQuery对象的比较

    1. 二者的不同之处: 通过jQuery获取的元素是一个数组, 数组中包含着原生JS中的DOM对象. 例如, 针对下面的一个div结构: <div id="Box">& ...

  7. JavaScirpt(JS)——BOM浏览器对象模型

    一.BOM概念 BOM(Browser Object Model)即浏览器对象模型.可以对浏览器窗口进行访问和操作.使用 BOM,开发者可以移动窗口.改变状态栏中的文本以及执行其他与页面内容不直接相关 ...

  8. JS第三部分--BOM浏览器对象模型

    一.client系列:宽高边框 二.offset系列:偏移 三.scroll系列 四.BOM的介绍 4.1.打开新窗口 4.2.location对象(本地信息对象) 4.3.history对象 4.4 ...

  9. js BOM浏览器对象模型

    BOM即Browser Object Model,浏览器对象模型,表示浏览器窗口,所有js全局对象.函数以及变量均是window 对象的成员. 对于不同的浏览器,表示宽度和高度的方法不同: 对于IE9 ...

随机推荐

  1. ABBYY FineReader 14创建PDF文档功能解析

    使用ABBYY FineReader,您可以轻松查看和编辑任何类型的 PDF,真的是一款实至名归的PDF编辑转换器,您知道的,它能够保护.签署和编辑PDF文档,甚至还可以创建PDF文档,本文和小编一起 ...

  2. CorelDRAW中的合并和群组功能

    在设计过程中,对象就是我们进行操作的主体,这个操作主体可以是单个对象,也可以是多个对象,在有多个对象要进行处理时,就需要用到类似CorelDRAW里的合并和群组这两个功能了. 一.合并与拆分 合并功能 ...

  3. 两款超好用的Mac读写ntfs软件推荐给大家

    活中我们免不了会使用一些硬盘设备来存储文件或者是数据,然而绝大多数的移动硬盘都是ntfs格式.Mac读写ntfs软件有很多,究竟哪一款适合我们? 首先,我们一起了解一下什么是ntfs格式.ntfs,是 ...

  4. 自己动手实现java数据结构(九) 跳表

    1. 跳表介绍 在之前关于数据结构的博客中已经介绍过两种最基础的数据结构:基于连续内存空间的向量(线性表)和基于链式节点结构的链表. 有序的向量可以通过二分查找以logn对数复杂度完成随机查找,但由于 ...

  5. NOIP2013 解题报告

    TG Day1 T3 货车运输 考虑货车的运输路径,最小边肯定是越大越好. 那就把图的最大生成树拉出来,每一辆货车在上面都有唯一确定的运输路径,否则必然会经过一条更小或相同的边. 然后倍增求路径上的最 ...

  6. 牛客练习赛71 数学考试 题解(dp)

    题目链接 题目大意 要你求出有多少个长度为n的排列满足m个限制条件 第i个限制条件 p[i]表示前 p[i]个数不能是1-p[i]的排列 题目思路 这个感觉是dp但是不知道怎么dp 首先就是要明白如果 ...

  7. kafka入门之broker--通信协议

    kafka的通讯协议是基于tcp之上的二进制协议,所有类型的请求和响应都是结构化的,由不同的初始类型构成.kafka使用这组协议完成各个功能的实现. 单个kafka client通常需要同时连接多个b ...

  8. 在windows环境下 nginx + .net core 3.1 实现反向代理和负载均衡

    一.创建.net core web 应用 1.首先打开vs2019创建好.net core web应用,简单的注入IConfiguration 便于打印端口号展示效果. 1 private reado ...

  9. shiro利用过期时间,解决用户冻结踢出问题

    背景 shiro中需要冻结某个用户,但是此时此刻这个用户在线,如果冻结只是改变状态的话,只会导致用户不满,所以要改变这个办法. 在查找过程中发现都是告诉shiro写自定义过滤器,那么我如果自定义过滤器 ...

  10. 最新小样本学习综述 A Survey on Few-Shot Learning | 四大模型Multitask Learning、Embedding Learning、External Memory…

    目录 原文链接: 小样本学习与智能前沿 01 Multitask Learning 01.1 Parameter Sharing 01.2 Parameter Tying. 02 Embedding ...