0
我真的不知道如何設置這個問題而不會讓它變得非常長,所以我會在這裏解釋它的厚度。我如何限制jQuery和PHP在while循環中的結果
基本上我的代碼是從另一臺服務器上的目錄中提取圖像。我正在使用我在網上找到的jQuery分頁腳本。該腳本可以工作,但只有在頁面上加載每個圖像後(有很多圖像,因此加載需要一段時間)。
我想要完成的是基本上能夠通過一次只顯示36個結果來快速加載頁面。我希望jQuery分頁工作,但更加理想的是,只需加載即可向下滾動。我嘗試過使用一些不同的無限滾動腳本,但由於某些原因,它永遠不能正常工作。
希望我對自己想做的事情非常清楚。
這裏是鏈接到頁面:http://habbolicious.com/v2/testing.php
...這裏是代碼:
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript" src="js/jquery.pages.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("div.holder").jPages({
containerID : "test",
perPage: 36
});
});
</script>
</head>
<div class="holder"></div>
<div id="test">
<?php
$url = "http://habbo.it/gamedata/external_flash_texts/0";
$data = file_get_contents($url);
$newlines = array("\n" ,"\r", "\r\n", ">", "<", "/");
$content = str_replace($newlines, "", html_entity_decode($data));
$Statushtml= '/badge_desc_(.+?)=/';
preg_match_all($Statushtml,$content,$Statusraw);
$badges = implode("-", $Statusraw[0]);
$badgevar = explode("=-badge_desc_", $badges);
$number = ($badgevar);
$badgevar2 = str_replace("=","",$badgevar);
$badgevar3 = str_replace("badge_desc_","",$badgevar2);
$number = count($badgevar3);
while ($number != 0) { ?>
<script>
$("img").error(function() {
$(this).parent().css({display:"none"});
});
</script>
<?php
$number = $number - 1; ?>
<?php
$imageUrl = "http://images.habbo.it/c_images/album1584/$badgevar3[$number].gif";
echo '<div class="derpy" style="width:10%; height:70px; line-height:10px; overflow:hidden; border-radius:5px; background:#eaeaea; color:#585858; float:left; margin:5px; padding:10px; text-align:center;"><img class="lazy" src="' . $imageUrl . '" onerror="this.style.display=none" /><br/>' . $badgevar3[$number] . '</div>';
if(file_exists($imageUrl))
{
} else {
}
}
?>
<div style="clear:both;"></div>
</div>
關鍵字是'lazy load'。你會發現很多jQuery插件。 – Horen
我已經試過了,並且正在將它拉出來的數據,因爲某些原因它不起作用。 – user2974604
看起來像成千上萬的圖像....獲取數據作爲json不會一次加載所有的html ...計數json數組的分頁速度非常快。優化圖像大小也 – charlietfl