久久无码中文字幕_日韩精品无码一本二本三_久久精品呦女暗网_欧美一级夜夜爽_久久精品国产99久久99久久久

12
2023/11

判斷可見IntersectionObserver

發(fā)布時間:2023-11-12 20:57:11
發(fā)布者:·
瀏覽量:
0

  我們做一些動畫效果的時候可以用jq來判斷滾動的距離,根據(jù)元素高度和距離頂部的高度判斷元素是否進入可視區(qū)域中,比較方便的同時但由于必須一直處于監(jiān)聽狀態(tài)可能會對瀏覽器性能造成影響,于是我發(fā)現(xiàn)這樣一款可以用來監(jiān)聽是否進入頁面中的api--IntersectionObserver。

  首先我們以new的形式聲明一個對象,接收兩個參數(shù)callback和option,callback就是當(dāng)開啟監(jiān)聽后發(fā)生滾動時候的回調(diào)函數(shù),它的參數(shù)是一個數(shù)組,每個成員都是一個IntersectionObserverEntry對象。

  另一個參數(shù)option是配置對象,他決定callback的判定條件,他有三個參數(shù),root,rootMargin,,threshold。

  root指定根元素,rootMargin可以設(shè)定元素外邊距,threshold指的是可見區(qū)域的占比。

  Io.observe()開始監(jiān)聽一個元素。

  如下我們看一個例子

判斷可見IntersectionObserver

  這里我們監(jiān)聽id為輪播的元素

判斷可見IntersectionObserver

  以下就是entries的數(shù)據(jù)

判斷可見IntersectionObserver

  當(dāng)監(jiān)聽元素出現(xiàn)在瀏覽器可視區(qū)域內(nèi)部,可以看到isIntersecting的值變?yōu)榱藅rue,jq也正常運行。

判斷可見IntersectionObserver

判斷可見IntersectionObserver

 


關(guān)鍵詞:
返回列表
相關(guān)文章