久久久精品一区ed2k-女人被男人叉到高潮的视频-中文字幕乱码一区久久麻豆樱花-俄罗斯熟妇真实视频

使用Vue實(shí)現(xiàn)一個(gè)虛擬列表的方法-創(chuàng)新互聯(lián)

因?yàn)?DOM 性能瓶頸,大型列表存在難以克服的性能問(wèn)題。 因此,就有了 “局部渲染” 的優(yōu)化方案,這就是虛擬列表的核心思想。

成都創(chuàng)新互聯(lián)公司是一家專注于成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、成都外貿(mào)網(wǎng)站建設(shè)公司與策劃設(shè)計(jì),建寧網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)10余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:建寧等地區(qū)。建寧做網(wǎng)站價(jià)格咨詢:18980820575

虛擬列表的實(shí)現(xiàn),需要重點(diǎn)關(guān)注的問(wèn)題一有以下幾點(diǎn):

  • 可視區(qū)域的計(jì)算方法
  • 可視區(qū)域的 DOM 更新方案
  • 事件的處理方案

下面逐一分解說(shuō)明。

可視區(qū)域計(jì)算


可視區(qū)域的計(jì)算,就是使用當(dāng)前視口的高度、當(dāng)前滾動(dòng)條滾過(guò)的距離,得到一個(gè)可視區(qū)域的坐標(biāo)區(qū)間。 算出可視區(qū)域的坐標(biāo)區(qū)間之后,在去過(guò)濾出落在該區(qū)間內(nèi)的列表項(xiàng),這個(gè)過(guò)程,列表項(xiàng)的坐標(biāo)也是必須能算出的。

思考以下情況,

  • 我們的視口高度為 100px
  • 我們當(dāng)前已經(jīng)滾動(dòng)了 100px
  • 我們的列表項(xiàng),每一項(xiàng)高度為 20px

根據(jù)這些條件,我們可以計(jì)算出,當(dāng)前可視區(qū)域?yàn)榈?11 項(xiàng)至第 20 項(xiàng)。

01 - 05,可視區(qū)域上方
+----+-----------+--------
| 06 | 100 ~ 120 |
+----+-----------+
| 07 | 120 ~ 140 |
+----+-----------+
| 08 | 140 ~ 160 | 可視區(qū)域
+----+-----------+
| 09 | 160 ~ 180 |
+----+-----------+
| 10 | 180 ~ 200 |
+----+-----------+--------
  11 - N,可視區(qū)域下方

這是因?yàn)榱斜眄?xiàng)高度是固定的,我們可以通過(guò)簡(jiǎn)單的四則運(yùn)算算出已經(jīng)滾動(dòng)過(guò)去的 100px 中,已經(jīng)滾動(dòng)走了 5 個(gè)列表項(xiàng),因此可視區(qū)域是從第 6 項(xiàng)開(kāi)始,而視口高度為 100px,能容納 100 / 20 即 5 個(gè)條目。

上面例子的情況非常簡(jiǎn)單,也不存在性能問(wèn)題,因此實(shí)際上并沒(méi)有展開(kāi)討論的價(jià)值。 而還有另一種復(fù)雜很多的情況,那就是,列表項(xiàng)高度不固定,根據(jù)內(nèi)容決定高度。

此時(shí),我們就沒(méi)辦法直接使用四則運(yùn)算一步到位算出可視區(qū)域?qū)?yīng)的條目了。

而必須實(shí)現(xiàn)一種機(jī)制,記錄所有列表項(xiàng)的坐標(biāo),再通過(guò)檢查列表項(xiàng)是否落在視口內(nèi)。

下面重點(diǎn)討論該問(wèn)題。

列表項(xiàng)的坐標(biāo)


列表項(xiàng)的坐標(biāo),可以通過(guò)以下公式定義:

<列表項(xiàng) top 坐標(biāo)值> = <上一項(xiàng) top 坐標(biāo)值> + <上一項(xiàng)的高度值>

本文題目:使用Vue實(shí)現(xiàn)一個(gè)虛擬列表的方法-創(chuàng)新互聯(lián)
分享地址:http://sd-ha.com/article46/jjeeg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、網(wǎng)站設(shè)計(jì)公司、微信小程序、網(wǎng)頁(yè)設(shè)計(jì)公司、品牌網(wǎng)站制作網(wǎng)站改版

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)