BOM:和浏览器窗口进行交互的对象
和DOM的区别
DOM:文档对象模型
顶级对象是document,操作的是页面元素,是W3C标准
BOM:浏览器对象模型>DOM
顶级对象是window,学习浏览器交互的一些对象,兼容性较差
1.窗口加载事件
//这样就会等到页面元素全部加载后在执行
window.addEventListener("load",function(){})
window.onload = function(){
} //只能选一个,以后面的为标准
2.定时器:setTimerout(调用函数,[延迟毫秒数]); 当有很多定时器是,就赋一个变量
删除定时器:clearTimeout
function callback(){
console.log('你好帅')};
setTimerout(callback,3000)
setInterval()定时器:setInterval(调用函数,[延迟毫秒数]); 反复调用一个函数
清除:clearInterval
3.关于this
1. 一般情况下this最终指向调用它的对象
2.全局作用域或者普通函数中this指向全局对象window,例如定时器函数不用this
4.location方法
5.navigator对象
6. history对象
PC端特效
1.offset系列常用属性(动态获取,注意定位父亲)
offset(只读数据!)和style(可读写)的区别
2.client系列(和offsetWidth最大的区别是 不包含边框)
3.立即执行函数(创建一个独立的作用域,避免命名冲突 (function(){})())
<script>
function fn(){
console.log(1);
}
fn();
//可传参
(function(a,b){
console.log(a + b);
})(1,2);
//可传函数
(function sum(a,b){
console.log(a + b);
})(3,2);
</script>
4.设置rem
var rem = docEl.clientWidth / 10
docEl.style.fontsize = rem + 'px'
5.scroll系列(滚动,真正的内容大小,而client只是盒子)
6.三大系列总结
mouseenter和mouseover的区别
mouseover经过自身盒子会触发,经过子盒子也会触发
mouseenter只有经过自己盒子才会触发(不会冒泡)
7,window.scroll(x,y) 表示滚动到的指定位置