黑马程序员-JS基础-BOM浏览器对象模型

目录

BOM

window对象的常见事件

1.窗口加载事件

2.窗口大小变化事件

定时器

location对象

history对象


BOM

(browser object model)提供了独立于内容,而与浏览器窗口进行交互的对象,并未=为每个对象提供了很多方法和属性;

BOM比DOM更大,它的顶级对象是window;

构成:document、location、navigation、screen、history;

window对象的常见事件

1.窗口加载事件

window.onload =fn;

window.addEventListener('load', fn)

等页面全部加载完(包含页面dom元素 图片 flash  css 等)再处理执行函数,所以可以把它写在js代码最上方;

document.addEventListener('DOMContentLoaded', fn)

是DOM 加载完毕,不包含图片 falsh css 等就可以执行 加载速度比 load更快一些

  window.addEventListener('load', function() {

            var btn = document.querySelector('button');

            btn.addEventListener('click', function() {

                alert('点击我');

            })

        })

        window.addEventListener('load', function() {

            alert(22);

        })

        document.addEventListener('DOMContentLoaded', function() {

            alert(33);

        })

//先后弹出的是33、22、点击我

2.窗口大小变化事件

 window.addEventListener('resize', fn);

 window.οnresize=fn;

只要窗口大小发生变化,就会执行fn语句;

window.innerWidth为当前屏幕的宽度;

定时器

类型说明
定义

 window.setTimeout ( fn, 时间)

时间到了自动触发,window可省略
window.setInterval (fn,间隔时间)每隔一段时间触发一次,window可省略
清除

window.clearTimeout(定时器名字)

window可省略
window.clearInterval(定时器名字)window可省略

通常可以先定义好fn,再调用定时器函数;

页面中可能有很多的定时器,我们通常给定时器申名;

  function callback() {

            console.log('爆炸了');

        }

        var timer1 = setTimeout(callback, 3000);

        var timer2 = setTimeout(callback, 5000);

location对象

属性或方法说明
location.href设置或返回完整的 URL
location.host 设置或返回主机(域名) www.baidu.com
location.port设置或返回当前 URL 的端口号,没有就返回空字符串
location.pathname 返回路径
location.hostname返回当前 URL 的主机名
location.search返回参数,即从问号 (?) 开始的 URL
location.hash 返回从井号 (#) 开始的 URL,没有就返回空字符串
location.protocol 返回当前 URL 的协议,取值为 'http:','https:','file:' 等等
location.assign()跳转页面
location.replace()替换当前页面(不记录历史,所以无法后退页面)
location.reload()重新加载页面,相当于刷新页面

window提供的一个location属性,可以用来查看、设置或者解析URL地址,该属性返回的是一个对象,因此也叫location对象;

用于提供当前浏览器及操作系统等信息,最常用的属性是userAgent ,可以获取由客户机发送服务器的 user-agent 头部的值。如判断用户是移动端还是PC端;

history对象

history.back()后退
history.forward()前进
history.go(参数)参数为1前进一个页面,-1则后退一个页面

 var btn = document.querySelector('button');

        btn.addEventListener('click', function() {

            history.go(1);

        })

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值