Zvýšenie hodny page pri nekonečnej stránke
- Tommy7777
- Člen | 13
Zdravím pracujem na tzv. nekonečnej stránke, kde po zosrcolovani na koniec sa zobrazia ďalšie produkty, problém je teraz v tom že sa mi načítavajú stále produkty zo stránky 2 a nezvýši sa mi hodnota page. Chcem sa spýtať ako to zvýšiť aby po každom zoscrolovani bola vyššia.
<script>
$(window).scroll(function() {
if($(window).scrollTop() > ($(document).height() - $(window).height() - 200)) {
$.nette.ajax({
type: 'GET',
url: {link nextPage!},
data: {
'page': {$page} +1
}
});
}
});
</script>
Editoval Tommy7777 (4. 1. 2022 12:53)
- Polki
- Člen | 553
Tuším, že to řeší tady.
No pokud se ti kvůli toho nechce kupovat celý kurz, tak vzhledem k tomu,
že používáš AJAX, tak je třeba aktualizovat i tu tvou proměnnou
$page
uvnitř toho skriptu.
Vsadím se totiž, že výpis všech prvků řešíš přes snippet, který obaluje ten výpis a pouze ten invaliduješ, takže pouze ten se na klienta po AJAX požadavku pošle. To znamená, že hodnota propsaná místo proměnné $page v těch skriptech se nemění a zůstává stále na 2.
Doporučuji udělat změnu takovou:
Část, která se stará o vykreslení produktů:
{snippet produkty} // toto zůstává stejné
<div id="produkty" data-page="{$page}"> // toto taky zůstává stejné. Předpokládám, že to máš něčím obalené. Přibyla jen část data
// tady jsou ty tvoje produkty
</div>
{/snippet}
a ty styly:
<script>
$(window).scroll(function() {
if($(window).scrollTop() > ($(document).height() - $(window).height() - 200)) {
$.nette.ajax({
type: 'GET',
url: {link nextPage!},
data: {
'page': $('div#produkty').data('page') +1 // změnilo se jen toto na dynamické získávání čísla stránky z dat která se překreslují
}
});
}
});
</script>
Editoval Polki (4. 1. 2022 19:01)