BOM是什么意思

BOM

  • BOM(Browser Object Model): 浏览器对象模型
  • 其实就是操作浏览器的一些能力
  • 我们可以操作哪些内容
    • 获取一些浏览器的相关信息(窗口的大小)
    • 操作浏览器进行页面跳转
    • 获取当前浏览器地址栏的信息
    • 操作浏览器的滚动条
    • 浏览器的信息(浏览器的版本)
    • 让浏览器出现一个弹出框(alert/confirm/prompt)
  • BOM 的核心就是 window 对象
  • window 是浏览器内置的一个对象,里面包含着操作浏览器的方法

获取浏览器窗口的尺寸

innerWidthinnerHeight

  • 这两个方法分别是用来获取浏览器窗口的宽度和高度(包含滚动条的)
var windowWheight = window.innerWidth; //获取浏览器的宽
var windowHeigh = window.innerHeight; //获取浏览器的高

浏览器的弹出层

alert

var windowAleat = alert('我是一个提示框');//在浏览器弹出一个提示框

confirm

var windowConfirm = confirm('我是一个询问框');//  在浏览器弹出一个询问框

prompt

var windowprompt = prompt('我是一个输入框'); // 是在浏览器弹出一个输入框

浏览器的地址信息

location

  • 在 window 中专门用来存储浏览器的地址栏内的信息的对象

location.href

  • 这个属性存储的是浏览器地址栏内 url 地址的信息
var  windowLocation = window.location.href;//-会把中文编程 url 编码的格式

这个属性也可以给他赋值

var  window. location.href=https://www.baidu.com/;//这个就会跳转页面到后面你给的那个地址

location.reload()

  • 这个方法会重新加载一遍页面,就相当于刷新是一个道理
var  window.location.reload()//注意:不要写在全局,不然浏览器就会一直处在刷新状态

浏览器的历史记录

history
window 中专门用来存储历史记录信息的对象

history.back()

  • 是用来会退历史记录的,就是回到前一个页面,就相当于浏览器上的 ⬅️ 按钮
window.history.back()//前提是你要有上一条记录

history.forward

  • 去到下一个历史记录里面,也就是去到下一个页面,就相当于浏览器上的 ➡️ 按钮
window.history.forward();//你要之前有过回退操作,不然现在就是最后一个页面

浏览器的 onload 事件

  • 这个不在是对象了,而是一个事件
  • 是在页面所有资源加载完毕后执行的
window.onload = funtcion(){console.log('页面已经加载完毕');}

浏览器的 onscroll 事件

  • 这个 onscroll 事件是当浏览器的滚动条滚动的时候触发

  • 或者鼠标滚轮滚动的时候触发

window.onscroll = function(){console.log('滚动了');}

浏览器滚动的距离

scrollTop

  • 获取的是页面向上滚动的距离

  • 一共有两个获取方式

window.onscroll = function(){console.log(document.body.scrollTop);//谷歌火狐显示0,IE显示}
window.onscroll = function(){console.log(document.documentElement.scrollTop);//谷歌火狐显示,IE显示}
 window.onscroll = function(){console.log(window.pageYOffset);//苹果显示,高版本其他浏览器也显示}

scrollLeft

  • 获取页面向左滚动的距离

  • 也是两个方法同上

 window.onscroll = function(){console.log(window.pageXOffset);//苹果显示,高版本其他浏览器也显示}

定时器

  • 在 js 里面,有两种定时器,倒计时定时器间隔定时器

倒计时定时器

  • 倒计时多少时间以后执行函数

  • 语法: setTimeout(要执行的函数,多长时间以后执行)

  • 会在你设定的时间以后,执行函数

var time = setTimeout(function(){console.log('一秒后执行');//页面打开 1 秒钟以后执行函数
},1000)
//返回值是,当前这个定时器是页面中的第几个定时器

间隔定时器

  • 每间隔多少时间就执行一次函数

  • 语法: setInterval(要执行的函数,间隔多少时间)

var time = setInterval(function(){console.log('间隔一秒');//每间隔 1 秒钟执行一次函数
},1000)
//返回值是,当前这个定时器是页面中的第几个定时器

定时器的返回值

  • 设置定时器的时候,他的返回值是部分 setTimeoutsetInterval

  • 只要有一个定时器,那么就是一个数字

  var timerId = setTimeout(function () {console.log('倒计时定时器')}, 1000)var timerId2 = setInterval(function () {console.log('间隔定时器')}, 1000)console.log(timerId) // 1console.log(timerId2) // 2

关闭定时器

  • 我们有两个方法来关闭定时器 clearTimeoutclearInterval
var time = setTimeout(function(){console.log('一秒后执行');
},1000)
clearTimeout(time);
var time2 = setInterval(function(){console.log('间隔一秒');//每间隔 1 秒钟执行一次函数
},1000)
clearInterval(time2);

Published by

风君子

独自遨游何稽首 揭天掀地慰生平