搜尋

首頁  >  問答  >  主體

確定HTML表格中目前可見的頂部和底部行的JS/VueJS實作方法

我有一個標準的HTML表格,其中包含thead和tbody,tbody中的行數可以是任意數量,因為它取決於陣列的大小。

表格有一個最大高度,因此可以捲動。當表格滾動時,我希望能夠計算新顯示的頂部和底部行。

此外,我不能使用jquery來實現這個,我只想使用javascript。

我嘗試了這個問題的被接受的答案,但似乎不準確,有時會錯誤地計算出2-7行的數量...確定html表格中的頂部行

P粉103739566P粉103739566528 天前565

全部回覆(1)我來回復

  • P粉161939752

    P粉1619397522023-09-11 10:49:50

    您可以使用IntersectionObserver API來檢查父表格中可見的行。為每一行新增一個交叉觀察器,並使用isIntersecting來檢查行是否可見。

    const rows = document.querySelector('.row')
    
    const rowsObserver = new IntersectionObserver(entries => {
          entries.forEach((entry) => {
            if (entry.isIntersecting) {
              (在这里添加您的代码)
            } else {
              (在这里添加您的代码)
            }
          })
        })
    
    rowsObserver.observe(rows)

    要計算第一個和最後一個可見的行,您可以在它們的可見性發生變化時將每一行添加或移除到一個“visibleElements”數組中,或者切換一個“visible”類別。

    回覆
    0
  • 取消回覆