jsのBOM浏览器对象模型
一、认识BOM
1.1.对比DOM和BOM
| DOM | BOM |
|---|
| 文档对象模型(把文档当做一个对象) | 浏览器对象模型(把浏览器当做一个对象来看) |
| 顶级对象是document | 顶级对象是window |
| 主要学习操作页面元素 | 主要学习浏览器窗口交互 |
| W3C标准规范 | 没有标准,兼容性差,浏览器厂商在各自浏览器上定义 |
二、window - - 浏览器顶级对象
2.1.认识window
<script>
var num=10
function fn(){
console.log(num)
console.log(window.num)
}
fn()
window.fn()
</script>
2.2.onload - - 页面加载事件
<script>
window.addEventListener('load',function(e){
alert('22')
var button = document.querySelector('button')
button.addEventListener('click',function(e){
alert('44')
})
})
window.addEventListener('load',function(e){
alert('33')
})
document.addEventListener('DOMContentLoaded',function(){
alert('11')
})
</script>
<button>点击</button>
2.3.onresize - - 窗口调整大小事件
<script>
window.addEventListener('load',function(){
var div=document.querySelector('div')
if(window.innerWidth < 800){
div.style.display = 'none'
}else{
div.style.display = 'block'
}
window.addEventListener('resize',function(){
if(window.innerWidth < 800){
div.style.display = 'none'
}else{
div.style.display = 'block'
}
})
})
</script>
<div style="background-color: tomato;width: 200px;height: 200px;"></div>
2.4.定时器的设置setTimeOut与清除clearTimeout
<script>
window.addEventListener('load',function(){
setTimeout(function(){
alert('时间到了')
},2000)
function callback(){
alert('爆炸了')
}
setTimeout(callback,3000)
setTimeout('callback()',3000)
var timer1 = setTimeout(callback,3000)
var timer2 = setTimeout(callback,5000)
})
</script>
2.4.1.小案例 - - 五秒隐藏广告,5s内鼠标移动到广告上,则不关闭
<script>
window.addEventListener('load',function(){
var img = document.querySelector('img')
var timer = setTimeout(closeadvertisement,5000)
function closeadvertisement(){
img.style.display = 'none'
}
img.addEventListener('mouseover',function(){
clearTimeout(timer)
})
})
</script>
<img src="./img/3.jpg">
2.5.定时器的设置setInterval与清除clearInterval
2.6.setTimeout与setInterval的区别