2009-01-29 40 views
0

我想知道是否有任何標準的方法來保持實時列表的正確分頁。例如,如果我進入第2頁,在Stack Overflow上,並且在查看第1頁期間提交了一個新問題,我怎樣才能保持第2頁與當我開始查看第1頁時相同?處理長列表分頁的一些方法是什麼?

很多時候人們只是用LIMIT做一個SQL查詢,但是這不會讓你跟蹤頁面1結束和頁面2開始的地方。

我想它可以通過跟蹤最後看到的記錄的ID或別的東西來完成。

回答

1

我們爲我們所有分頁的Web UI執行此操作(您的請求)行爲。 (我實際上是在SO中提出這樣的要求,並且已經下降 - 但是我發現目前的重新編排令人討厭並且出乎意料 - 我討厭擊中「下一個」並且前n個項目成爲前一頁中的最後一個)。

訣竅是保留(通常在隱藏變量中)足夠的關鍵信息,以便立即在第1項之前放置列表,並緊接在您正在查看的頁面的最後一項之後。然後,您的上一頁和下一頁鏈接會在提交時提供該信息。實際上,您保留「上一頁」和「下一頁」鍵。這直接適用於插入刪除。

有一點需要記住的是,頁面1上的刷新(假設像SO是最新的項目第一個列表)應該(a)激活「上一個」鏈接,如果它被隱藏,或者(b)刷新從頂部的列表,包括添加的項目。換句話說,「刷新」總是重新顯示第一個項目中的頁面,但如果頁面上的第一個項目也是列表中的第一個項目,並且現在有新項目,它將從列表的開頭重新顯示。通過我們的清單,我們通常有標準的「首頁」,「上一頁」,「刷新」,「下一頁」和「最後一頁」的鏈接。

查看新項目的替代方法是始終保留上一個鏈接,並備份整頁或列表頂部的較小者 - 這就是用戶看到新項目的方式(但我更喜歡隱藏/禁用上一個/下一個沒有項目前一個和/或下一個時)。

3

我認爲大多數用戶習慣了這種行爲,並期望它發生。當他們進入下一頁並且他們看到頁面末尾的項目時,他們只是當前頁面的第一項,他們可能會意識到這是因爲添加了新項目。我知道,在瀏覽頁面的同時添加新內容之前,我已經依靠此行爲作爲用戶。

所以我認爲你不應該這樣做。

+1

同意。所有動態網站都是這樣做的。這太傻了! – matpie 2009-01-29 06:42:09

相關問題