其他事件(js笔记)

109 阅读2分钟

页面加载事件

1.load事件

加载外部资源(如图片,css,js等)加载完毕触发的事件

// 页面加载完成后执行
window.addEventListener('load',function(){
  执行事件
})
// 图片加载完成后执行
img.addEventListener('load',function(){
  执行事件
})

2.DOMContentLoaded

当初始的html文档被完全加载和解析完成后,DOMContentLoaded事件被触发,无需等待样式表,图像等完全加载

给document添加DOMContentLoaded事件

document.addEventListener('DOMContentLoaded',function(){
  //执行的操作
})

元素滚动事件

语法

document.addEventListener('scroll',function(){
  //执行的操作
})

获取位置

被卷去的左侧或头部:scrollLeft和scrollTop(这两个数据是可读写的)

scrollTo(x,y):把内容滚动到指定的坐标

语法: 元素.scrollTo(x,y)

//让页面滚动到y轴1000像素的位置
window.scrollTo(0,1000)

可读写:可以赋值

image.png 例:检测页面滚动的距离,比如页面滚动100px,就可以显示一个元素,或者固定一个元素

 document.addEventListener('scroll', function () {
     //必须写在里面
    // document.documentElement 是Html元素获取方式
    const n=document.documentElement.scrollTop
    console.log(n);
    //得到的是数字型:不带单位
  })

页面尺寸事件

1.resize(窗口尺寸改变的时候触发事件)

window.addEventListener('resize',function(){
  //执行的代码
})

2.clientWidth和clientHeight(元素的可见部分宽高(不含边框,margin,滚动条等)

3.offsetWidth和offsetHeight(获取元素自身的宽高,包含元素自身设置的宽高,padding,border)

4.offsetTop和offsetLeft:

获取元素距离自己定位的父级元素的左,上距离

只读属性

image.png

4.element.getBoundingClientRect() (返回元素大小和相对于视口的位置)

总结

属性作用说明
scrollLeft和scrollTop被卷去的头部和左侧配合页面滚动来用,可读写
clientWidth 和 clientHeight获得元素宽度和高度不包含border,margin,滚动条 用于js获取元素大小,只读属性
offsetWidth和offsetHeight获得元素宽度和高度包含border、padding,滚动条等,只读
offsetLeft和offsetTop获取元素距离自己定位父级元素的左,上距离获取元素位置时使用,只读属性