- BOM:
浏览器对象模型
- 可以理解为浏览器给我们提供了一系列方法
- 可以打开一个浏览器弹窗框
- 记录当前窗口大小
- 操作页面跳转
- ……
- JS的
全局
作用域, 有一个window
对象, 我们BOM的方法都在他里边- 使用的时候语法:
window.XXX
- 但是window可以忽略不写
console.log(window);
获取浏览器窗口的尺寸
console.log(window.innerHeight);
console.log(window.innerWidth);
- window有一个
location
, 内部记录了浏览器的地址
信息- location 内部有一个`href属性·, 可以获取当前浏览器的地址, 也可以给他赋值新地址, 实现页面跳转
setInterval(function(){
// 跳转页面
window.location.href = 'http://www.yizhiyang31.com';
}, 3000)
window对象内部有一个location他的内部有一个reload 方法
var count = 0;
setInterval(function(){
count++;
console.log(count);
if(count === 5){
// 不要写在刷新的外部 要不然会一直刷新
// 应该写在一个条件的内部
window.location.reload();
}
}, 1000)
- 模拟左上角的
回退与前进
- window内部有一个
history
,内部有方法能够让我们能实现浏览器的前进回退功能window.history.back()
回退window.history.forward()
前进(必须现有过一次回退, 才能使用前进)
window 对象中的navigator,对象可以查到相关信息
console.log(window.navigator);
- onload事件, 等到页面的
所有资源加载完毕后在执行
- 浏览器的
图片
加载是异步
的
window.onload = function () {
console.log(100);
}
window.onscroll = function () {
console.log('页面滚动~~~~~');
}
浏览器的滚动距离
因为是页面滚动, 所以需要使用 document 对象去获取滚动的距离
方法: document.body.scrollTop 在浏览器没有声明 document.documentElement.scrollTop 在浏览器声明了 document.body.scrollLeft 在浏览器没有声明 document.documentElement.scrollLeft 在浏览器声明了
- 1
- 2
- 3
- 4
- 5
<div></div>
<style>
div {
width: 5000px;
height: 5000px;
}
</style>
window.onscroll = function () {
console.log('开始滚动~~~')
console.log(
'document.body.scrollTop: ', document.body.scrollTop,
'document.documentElement.scrollTop: ', document.documentElement.scrollTop
)
}
window.onscroll = function () {
console.log('开始滚动~~~')
console.log(
'document.body.scrollLeft: ', document.body.scrollLeft,
'document.documentElement.scrollLeft: ', document.documentElement.scrollLeft
)
}