2013-11-09 114 views
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> 
+0

關鍵字是'lazy load'。你會發現很多jQuery插件。 – Horen

+0

我已經試過了,並且正在將它拉出來的數據,因爲某些原因它不起作用。 – user2974604

+0

看起來像成千上萬的圖像....獲取數據作爲json不會一次加載所有的html ...計數json數組的分頁速度非常快。優化圖像大小也 – charlietfl

回答

0
在你的腳本

: $數=計(* *);

和「而」做一個倒計時的$數爲0。

,如果你只想要36的圖片,那麼你就需要行10「$數= 36;」 ,而不是「$ number =($ badgevar);」