Web APIs——其他事件

1、页面加载事件

加载外部资源(如图片、外联CSS和JavaScript等)加载完毕时触发的事件

为什么要学?

  • 有些时候需要等页面资源全部处理完了做一些事情
  • 老代码喜欢把script写head中,这时候直接找dom元素找不到

事件名:load

监听页面所有资源加载完毕:

  • 给window添加load事件

注意:不光可以监听整个页面资源加载完毕,也可以针对某个资源绑定load事件




    
    
    Document
    


    

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

事件名:DOMContentLoaded

监听页面DOM加载完毕

  • 给document添加DOMContentLoaded事件
        document.addEventListener('DOMContentLoaded', function(){
            const btn = document.querySelector('button')
            btn.addEventListener('click',function(){
                alert(11)
            })
        })

2、元素滚动事件

滚动条在滚动的时候持续触发的事件

为什么要学?

  • 很多网页需要检测用户把页面滚动到某个区域后做一些处理,比如固定导航栏,返回顶部

事件名:scroll

监听整个页面滚动

  • Web APIs——其他事件_第1张图片
  • 给window或document添加scroll事件

监听某个元素的内部滚动直接给某个元素添加即可

    

 2.1 scrollLeft和scrollTop(属性)

scrollLeft和scrollTop(属性):

  • 获取被卷去的大小
  • 获取元素内容往左、往上滚出去看不到的距离
  • 这两个值是可读写的

尽量在scroll事件里面获取被卷去的距离

Web APIs——其他事件_第2张图片




    
    
    Document
    


    
我好饿好饿好饿好饿好饿好 今天去吃什么吃什么吃什么 早上吃什么吃什么吃什么什 中午吃什么吃什么吃什么什 晚上吃什么吃什么吃什么什 第二天吃什么吃什么吃什么 明天去那玩去哪玩去哪玩去 你去哪找工作啊找工作找工 带带我呗带带我带带我哪玩 你啥时候一夜暴富暴富暴富 减肥十斤减肥减肥哪玩哪玩 减肥五斤瘦成闪电闪电哪玩 减肥两斤减肥减肥哪玩哪玩 算了,还是吃饱在减哪玩哪 明天去跑去去跑步去跑去牙 早上,这么早,在睡会吧吧 中午:都中午了,就不跑了 晚上:天好黑啊,还是明天

 2.2 页面滚动事件-获取位置

开发中,经常会检测页面滚动的距离,比如页面滚动100像素,就可以显示一个元素,或者固定一个元素

Web APIs——其他事件_第3张图片

注意事项:document.documentElement  HTML文档返回对象为HTML元素

Web APIs——其他事件_第4张图片

2.3 练习电梯导航案例





  
  小兔鲜儿 - 新鲜 惠民 快捷!
  
  
  
  



  
  
  
  
  
  

热门品牌国际经典 品质保证

2.4 页面滚动事件-滚动到指定的坐标(了解)

scrollTo() 方法可以把内容滚动到指定的坐标

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

3、页面尺寸事件

会在窗口尺寸改变的时候触发事件:

  • resize

检测屏幕宽度

Web APIs——其他事件_第5张图片

获取宽度:

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

Web APIs——其他事件_第6张图片




    
    
    Document
    


    
123123123123123123123123123123123123123

4、元素尺寸与位置

使用场景:

  • 前面案例滚动多少距离,都是我们自己算的,最好是页面滚动到某个元素,就可以做某些事
  • 简单说,就是通过js的方式,得到元素在页面中的位置
  • 这样我们可以做,页面滚动这个位置,就可以做某些操作,省去计算了

4.1 尺寸

获取宽高

  • 获取元素的自身宽高、包含元素自身设置的宽高、padding、border
  • offsetWidth和offsetHeight
  • 获取出来的是数值,方便计算
  • 注意:获取的是可视宽高,如果盒子是隐藏的,获取的结果是0

获取位置

  • 获取元素距离自己定位父级元素的左、上距离
  • offsetLeft和offsettop 注意是只读属性



    
    
    Document
    


    

获取位置:

element.getBoundingClientRect()

方法返回元素的大小以及其相对于视口的位置

Web APIs——其他事件_第7张图片




    
    
    Document
    


    

总结:

Web APIs——其他事件_第8张图片

你可能感兴趣的:(JavaScript,前端,javascript,html)