Как ограничить результаты в цикле while с jQuery и PHP

0

Я действительно не знал, как задать вопрос, не делая его очень долго, поэтому я объясню его толщу.

В основном мой код вытягивает изображения из каталога на другом сервере. Я использую сценарий разбивки на страницы jQuery, который я нашел в Интернете. Скрипт работает, но только после того, как каждое изображение загружается на страницу (есть много изображений, поэтому требуется загрузка времени).

То, что я хочу выполнить, в основном, может быстро загрузить страницу, только показывая 36 результатов за раз. Я хотел бы, чтобы jQuery pagination работала, но что было бы еще более идеальным, просто загружать, когда вы прокручиваете вниз. Я попытался использовать несколько разных бесконечных скриптов прокрутки, но по какой-то причине он никогда не работает должным образом.

Надеюсь, я очень четко понимаю, что я пытаюсь сделать.

Вот ссылка на страницу: 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.
  • 0
    Я уже попробовал это, и с данными, которые извлекают это, это не работает по некоторой причине.
Показать ещё 1 комментарий
Теги:

1 ответ

0

в вашем скрипте: $ number = count (**);

и "while" делает обратный отсчет для числа $ до 0.

если вы хотите всего 36 изображений, вам понадобится строка 10 "$ number = 36;" , вместо "$ number = ($ badgevar)";

Ещё вопросы

Сообщество Overcoder
Наверх
Меню