欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

react中使用js實現(xiàn)頁面滾動監(jiān)聽(推薦)

 更新時間:2024年04月18日 09:32:40   作者:StupigYy  
這篇文章主要介紹了react中使用js實現(xiàn)頁面滾動監(jiān)聽,本文通過實例代碼給大家介紹的非常詳細,需要的朋友可以參考下

因為遇到react+ant design是,錨點anchor未生效的BUG,所以想過用js實現(xiàn)anchor效果,會遇到監(jiān)聽頁面滾動或監(jiān)聽元素距離頁面頂部高度問題,再監(jiān)聽階段試過很多辦法,可能鑒于水平不足,最后找到問題,

element.addEventListener(event, function, useCapture)監(jiān)聽器傳入三個參數(shù),查到的很多寫的是

cocomponentDidMount() {
    window.addEventListener('scroll', this.HandleScroll)
}
HandleScroll = e => {
    console.log(e.target.scrollTop)
}

但是這個未生效,監(jiān)聽不到頁面滾動,是因為沒有寫第三個參數(shù)useCapture(指定事件是否在捕獲或冒泡階段執(zhí)行),這個值為boolen,即true/false,true - 事件句柄在捕獲階段執(zhí)行,false- false- 默認。事件句柄在冒泡階段執(zhí)行,此時改為

cocomponentDidMount() {
    window.addEventListener('scroll', this.HandleScroll,true)
}
HandleScroll = e => {
    console.log(e.target.scrollTop)
}

此時就可以監(jiān)聽到頁面滾動,獲取數(shù)據(jù)了,也可以對指定節(jié)點進行監(jiān)聽

cocomponentDidMount() {
    document.getElementsByTagName('main')[0].addEventListener('scroll',                 this.HandleScroll)
    document.getElementById('portArea').addEventListener('scroll',                 this.HandleScroll)
}
HandleScroll = e => {
    console.log(e.target.scrollTop)
}

此時我遇到的問題是,我的結構體為main>div>textarea ,textarea為點擊觸發(fā)display來控制顯隱,而display控制顯隱是掛載DOM樹的,就會出現(xiàn)捕獲導致e.target從main轉移div上去,scrollTop值重新計數(shù),所以遇到scrollTop值突然歸零時可以log一下e.target是否轉移了,也可以用

document.getElementById('id').getBoundingClientRect()

來獲取滾動高度,getBoundingClientRect()用于獲得頁面中某個元素相對瀏覽器視窗的位置,該函數(shù)返回一個Object對象,該對象有6個屬性top,lef,right,bottom,width,height; 

到此這篇關于react中使用js實現(xiàn)頁面滾動監(jiān)聽的文章就介紹到這了,更多相關react頁面滾動監(jiān)聽內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • React中不適當?shù)腍ooks使用問題及解決方案

    React中不適當?shù)腍ooks使用問題及解決方案

    在 React 開發(fā)中,Hooks 提供了一種強大的方式來管理組件的狀態(tài)和生命周期,然而,不恰當?shù)?nbsp;Hooks 使用可能會導致組件行為異常、性能問題或難以調(diào)試的錯誤,本文將探討 React 中常見的不適當 Hooks 使用問題,并提供解決方案,需要的朋友可以參考下
    2025-03-03
  • react-diagram 序列化Json解讀案例分析

    react-diagram 序列化Json解讀案例分析

    今天帶來大家學習react-diagram 序列化Json解讀的相關知識,本文通過多種案例給大家分析序列化知識,通過圖文并茂的形式給大家介紹的非常詳細,感興趣的朋友一起看看吧
    2021-05-05
  • React Fiber與調(diào)和深入分析

    React Fiber與調(diào)和深入分析

    Fiber可以理解為一個執(zhí)行單元,每次執(zhí)行完一個執(zhí)行單元,React Fiber就會檢查還剩多少時間,如果沒有時間則將控制權讓出去,然后由瀏覽器執(zhí)行渲染操作,這篇文章主要介紹了React Fiber架構原理剖析,需要的朋友可以參考下
    2022-11-11
  • React項目build打包頁面空白的解決方案

    React項目build打包頁面空白的解決方案

    React項目執(zhí)行build命令后,在本地服務器打開頁面是空白的,本文主要介紹了React項目build打包頁面空白的解決方案,感興趣的可以了解一下
    2023-08-08
  • React實現(xiàn)pc端的彈出框效果

    React實現(xiàn)pc端的彈出框效果

    這篇文章主要為大家詳細介紹了React實現(xiàn)pc端的彈出框效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • react中的forwardRef 和memo的區(qū)別解析

    react中的forwardRef 和memo的區(qū)別解析

    forwardRef和memo是React中用于性能優(yōu)化和組件復用的兩個高階函數(shù),本文給大家介紹react中的forwardRef 和memo的區(qū)別及適用場景,感興趣的朋友跟隨小編一起看看吧
    2023-10-10
  • React實現(xiàn)antdM的級聯(lián)菜單實例

    React實現(xiàn)antdM的級聯(lián)菜單實例

    這篇文章主要為大家介紹了React實現(xiàn)antdM的級聯(lián)菜單實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-10-10
  • 淺談React的React.FC與React.Component的使用

    淺談React的React.FC與React.Component的使用

    本文主要介紹了React的React.FC與React.Component的使用,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • React進階學習之組件的解耦之道

    React進階學習之組件的解耦之道

    這篇文章主要給大家介紹了關于React進階之組件的解耦之道,文中通過詳細的示例代碼給大家介紹了組件分割與解耦的方法,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面跟著小編來一起學習學習吧。
    2017-08-08
  • React.js?Gird?布局編寫鍵盤組件

    React.js?Gird?布局編寫鍵盤組件

    這篇文章主要介紹了React.js?Gird?布局編寫鍵盤組件,Grid?布局則是將容器劃分成"行"和"列",產(chǎn)生單元格,然后指定"項目所在"的單元格,可以看作是二維布局
    2022-09-09

最新評論