作者klern (灰)
看板Ajax
標題[問題] infinite scroll 無限捲頁
時間Fri Sep 14 15:00:33 2012
大家好
最近看到 pinterest 網站的 infinite scroll 效果
因為之前並未接觸過相關的部份
所以很好奇他的運作原理
1. 一次從 server 抓取所有的資料再分批列出來
2. 批次跟 server 要求資料, 並將已列出的排除
我猜測作法是 1
但好奇的是, 若有上萬張的圖片及資料, 但正常使用者實際上使用可能只會瀏覽到幾百張
這樣的作法是否會不符合效率
抑或是我有任何誤解的地方
求各位高手幫忙
Thank
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 112.105.143.38
1F:推 mrbigmouth:ajax 滑鼠捲到後才跟server要資料 09/14 15:15
2F:→ mrbigmouth:沒人會做成1吧?= = 那還不如一開始就全列咧 09/14 15:16
3F:→ klern:做成1 是想說一些圖片可以晚點再列出@@ 09/14 15:18
4F:推 mrbigmouth:基本上網頁會紀錄目前看到的部份是第幾頁 09/14 15:18
5F:→ mrbigmouth:當頁面捲到最底時 將所需頁數送到後端 由後端判定該給 09/14 15:19
6F:→ mrbigmouth:哪些資料 然後再列在畫面最底部 09/14 15:19
7F:→ mrbigmouth:不用將已列出的排除 09/14 15:19
8F:→ klern:那如果是要做從所有資料中隨機撈出20筆資料 09/14 15:19
9F:→ klern:拉到底端再隨機拉20筆 這樣要排除的話不就蠻麻煩的0.0? 09/14 15:20
10F:→ mrbigmouth:那就變成頁面紀錄已撈出的資料id,送到後端後伺服器再 09/14 15:21
11F:→ mrbigmouth:排除這些id的資料 用資料庫where查詢一點也不麻煩 09/14 15:21
12F:→ mrbigmouth:而且其實只要"起始號隨機"跟"跳號隨機" 看起來的效果 09/14 15:22
13F:→ mrbigmouth:就等於隨機了 09/14 15:22
14F:→ klern:喔喔 了解 謝謝!! 09/14 15:22
15F:→ mrbigmouth:這樣甚至連排除都不必要,告訴伺服器從哪裡開始怎麼跳 09/14 15:23
16F:→ mrbigmouth:號即可 09/14 15:23
17F:→ TonyQ:如果資料量不大的話,1也不是不行,像是幾十筆的話 09/14 19:45
18F:→ TonyQ:不過成千上萬筆還用一就有點笨了 09/14 19:45
19F:→ klern:對後端熟悉度不夠 有些實作部分的原理不太瞭解 感謝解惑! 09/15 01:05