前面我们说了什么是DOM(文档对象模型)及其相关的属性与操作,那什么又是BOM呢?
BOM(Browser Object Model)即浏览器对象模型,他提供了独立于内容而与浏览器窗口进行交互的对象,其核心对象是window。
BOM 由一系列相关的对象组成,并且每个对象都提供了很多方法与属性。
那怎么区分 DOM 和 BOM ?
DOM | BOM | |
---|---|---|
对象模型 | 文档 | 浏览器 |
怎么看待 | 把[文档]当做一个[对象]来看待 | 把[浏览器]当做一个[对象]来看待 |
顶级对象 | document | window |
主要学习 | 操作页面元素 | 浏览器窗口交互的一些对象 |
标准规范 | W3C | 浏览器厂商在各自浏览器上定义的,兼容性较差 |
BOM 比 DOM 更大,它包含DOM
window对象是浏览器的顶级对象,也就是最大就是window,它具有双重角色。
1、它是JS访问浏览器窗口的一个接口。
2、它是一个全局对象,定义在全局作用域中的变量,函数都会变成window对象的属性和方法。
在调用的时候可以忽略window,之前涉及到的对话框(promot)、警示框(alert)都是属于window对象方法
① window.onload 窗口加载事件,它是当文档内容完全加载完成会触发(包括图像,脚本文件,css文件等),就会调用的处理函数。
window.onload = function(){}
/*或者*/
window.addEventListerner("load",function(){});
注意:
② DOMContentLoaded 窗口加载事件
document.addEventListener('DOMContentLoaded',function(){})
DOMContentLoaded 事件触发时,仅当DOM加载完成,不包括样式表,图片,flash等等。
window.onresize=function(){}
window.addEventListener("resize",function(){})
注意:
window对象提供了2个非常好用的方法---定时器
setInterval()和 setTimeout()
① setInterval() 闹钟定时器
开启定时器:window.setInterval(回调函数,间隔时间)
setInterval()方法重复调用一个函数,每隔一段时间,就会调用这个回调函数
注意:
停止定时器
window.clearInterval(intervalID); 这里的也可以省略为clearInterval(intervalID)
clearInterval() 方法取消了先前通过调用 setInterval() 建立的定时器
注意:
案例:京东秒杀倒计时
分析:
1
2
3
② setTimeout() 炸弹定时器
开启定时器
window.setTimeout(调用函数,[延迟的毫秒数]);
setTimeout() 这个调用函数我们也称为回调函数 callback
注意:
停止定时器
window.clearTimeout(timeoutID)
clearTimeout() 方法取消了先前通过调用 setTimeout() 建立的定时器
注意:
案例1:5秒后关闭广告
分析:
案例2:倒计时发送短信案例
分析:
手机号码: