Klávesnice zdarma Klávesnice zdarma
Pořádné programy s pořádnou klávesnicí zdarma. Více zde
Pouze tento týden sleva až 80 % na C# .NET

Diskuze: Průběžné načítání výsledků pomocí ajaxu

JavaScript JavaScript Průběžné načítání výsledků pomocí ajaxu American English version English version

Aktivity (1)
Avatar
Matěj Strnad:12.6.2018 21:34

Jak mám udělat to že když uživatel bude skrolovat stránku s výsledky tak když bude např. u 8 výsledku tak se mu načte dalších 10 .Na straně serveru si to zvládnu udělat sám ale na straně návštěvníka nevím. Děkuji za odpověď :)

Editováno 12.6.2018 21:35
Odpovědět 12.6.2018 21:34
Škoda že Google nikdo nenaučil slovo "soukromí"...
Avatar
Matěj Strnad:13.6.2018 6:55

To docela chápu ale nevím jak uďělat to když bude např. u 8 výsledku tak se mu načte dalších 10 výsledků. :)

Nahoru Odpovědět 13.6.2018 6:55
Škoda že Google nikdo nenaučil slovo "soukromí"...
Avatar
xpoproci
Člen
Avatar
xpoproci:13.6.2018 8:50

Vo väčšine prípadov sa to robí na základe pozície scrollu a veľkosti okna. Samozrejme sa to dá rovnakým spôsobom aplikovať aj na nejaký div.

$(window).scroll(function() { //pri scrollovani
    if($(this).scrollTop() == $(document).height() - $(this).height()) { //ked prides na koniec stranky
           //sem loading dat
    }
});
Editováno 13.6.2018 8:51
Nahoru Odpovědět 13.6.2018 8:50
Motto
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:13.6.2018 9:34

Dalo by se to osidit i chytanim onmouseover na jednotlivych vysledcich. Zkontrolujes cislo vysledku-10 a z kontrolujes pocet jiz nactenych. Pokud je malo, nactes dalsi.
Neni to tak spolehlive jako hlidani scrollTop, ale slo by to pouzit. Tak, ono, scroll take neni presne. Tam bys musel vedet, jakou vysku ma kazdy vysledek.

 
Nahoru Odpovědět  -1 13.6.2018 9:34
Avatar
Petr Čech
Redaktor
Avatar
Odpovídá na Peter Mlich
Petr Čech:13.6.2018 9:40

jenže to bude nepoužité na čemkoliv, co nemá myš, takže nějakých 60% zařízení. Navíc je to extrémně neintuitivní.

Nahoru Odpovědět 13.6.2018 9:40
the cake is a lie
Avatar
Petr Čech
Redaktor
Avatar
Petr Čech:13.6.2018 9:42

Já bych začal s tím, že si uděláš to donačítání na tlačítko - jako to má třeba Alza. Potom má smysl se bavit o něčem jako detekci scrollování.

Nahoru Odpovědět  +2 13.6.2018 9:42
the cake is a lie
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:13.6.2018 9:45

Jeste by slo udelat tlacitko se sipkou nebo link 'Dalsi'. Udalost click i mouseover.

Jak rikam, ono ani scrolovani neni spolehlive, pokud ho nenapises dobre. V podstate by slo precist offsetTop elementu s vysledky a jeho height.

 
Nahoru Odpovědět 13.6.2018 9:45
Avatar
Odpovídá na Peter Mlich
Vladislav Ladicky:13.6.2018 10:24

Ono to scrolovani spolehlive je. Problém je skôr, či sa infinite scroll hodí do danej aplikácie. Urobiť ho nad zoznamom produktov v eshope mi príde nevhodné, kdežto urobiť ho nad komentármi v detaile produktu mi pripadá v poriadku. Suma sumárum mi infinite scroll pripadá vhodný len na výpis nedôležitých informácií, ako práve komentáre a pod. Všade inde by som použil akúkoľvek formu pageru, napríklad na produkty v danej kategórii.

 
Nahoru Odpovědět  +1 13.6.2018 10:24
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:13.6.2018 12:42

U komentaru nevidim duvod do toho tahat ajax. Ty komentare maji tak do 10k. To tam muze byt jenom skryte. Lepsi nez zacinat novy http request (nebo vic), ktery ma jen hlavicku 1k

Editováno 13.6.2018 12:42
 
Nahoru Odpovědět 13.6.2018 12:42
Avatar
Odpovídá na Petr Čech
Matěj Strnad:13.6.2018 14:08

Vím že dotaz bude znít blbě ale sem spíš na PHP: jak mám udělat aby tlačítko spustilo funkci? :)

Nahoru Odpovědět 13.6.2018 14:08
Škoda že Google nikdo nenaučil slovo "soukromí"...
Avatar
Odpovídá na Peter Mlich
Matěj Strnad:13.6.2018 14:11

Moc tvému komentáři nerozumím :)

Nahoru Odpovědět 13.6.2018 14:11
Škoda že Google nikdo nenaučil slovo "soukromí"...
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:13.6.2018 15:51

Jindřich Máca ti poslal link na clanek, ktery ti to objasni.
Nema smysl resit scrolovani, dokud tam nemas aspon tlacitko, viz Petr Čech, ktere dela samotne doplnovani clanku. A to prave by meli resit ty clanky. Pak z toho tlacitka presmerovat to na scrolovani uz je jen drobna uprava.

Editováno 13.6.2018 15:51
 
Nahoru Odpovědět 13.6.2018 15:51
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:13.6.2018 15:57
<div id=xxx></div>
<input type=button onclick=dopln();>
<script>
function $(id) {return document.getElementById(id);}
function dopln()
{
$('xxx').innerHTML+= 'aaa\n';
}
</script>

Jenom do toho musis zamontovat spravne ten ajax. A az budes mit funkcni jednoduchy kod a ajaxem nebo se ti tam neco nebude darit, pak pokracuj v dotazech.
Jde o to, ze lidi radi poradi, ale forko neni dobrocinnost, udelejte vse za mne, ja jsem tu sef a zadavam ukoly.

Editováno 13.6.2018 15:57
 
Nahoru Odpovědět 13.6.2018 15:57
Avatar
Matěj Strnad:13.6.2018 17:33

Jak mám vypsat ty výsledky aby se vždy vypisovaly za sebe? :)

Nahoru Odpovědět 13.6.2018 17:33
Škoda že Google nikdo nenaučil slovo "soukromí"...
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 15 zpráv z 15.