[英]JQuery Infinite Scroll - “load more” after max page limit reached
[英]Scroll Load More SQL Limit
所以我已經布局並制作了這個網站,但現在我需要在滾動時加載更多結果。 這已經在這里問了一百萬次,但我想知道是否有一種簡單的方法可以適應我的構建。 理想情況下,我想做一些有限制的事情,但我所看到的一切都是關於擁有一個完全獨立的頁面。
頁面示例-
$sql = "SELECT * FROM `Products` ORDER BY id LIMIT 0,4 ";
echo "<div class=\"full_container\">";
echo "<div class=\"full\">";
if ($result = mysqli_query($con, $sql)) {
while ($row = mysqli_fetch_assoc($result)) {
echo "<div class=\"item_frame\">";
echo "<div class=\"item\">";
echo "<h5>".$row["Name"]."</h5>";
echo "</div>"; #Item End#
echo "</div>"; #Item_Frame End#
JS示例-
$(window).scroll(function() {
if($(window).scrollTop() + $(window).height() > $(document).height() - 100) {
///Where I would have the limit fix
}
});
這是否可以輕松切換為能夠在滾動時加載更多內容,還是我必須使用第二個 php 頁面才能使用 ajax?
要獲取更多信息,您可能必須通過 ajax 進行調用,然后在返回數據后使用 javascript 呈現新圖像。 您可以像處理常規分頁一樣處理它,只需記住您獲得了多少結果並將其輸入到您的限制中,例如
(function () {
var page = 2,
uri = 'moreImages.php';
$(window).scroll(function() {
if($(window).scrollTop() + $(window).height() > $(document).height() - 100) {
$.get (uri, {page: page}, function (data) {
page ++;
$('#container').append (data);
});
}
});
}) ();
然后在你的 PHP 頁面中,你只需要根據你的分頁規則計算出偏移量
$page = (int) @$_GET['page'] ?: 1;
$numItems = 4;
$start = ($page - 1) * $numItems;
$sql = "SELECT * FROM `Products` ORDER BY id LIMIT {$start}, {$numItems}";
差點忘了:在他們到達頁面底部之前發送請求以加快處理速度也可能是值得的。 確保在您的代碼中設置一個標志來標記您正在等待信息,並且只有在信息明確時才請求更多,否則您將在滾動時不斷發送請求。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.