Autor Zpráva
visionic
Profil *
Dobrý večer,

mám problém se scrollováním a načítáním obsahu pomocí JQuery ajax. Načte se mi pomocí load z mysql 10 záznamů (z javacript proměnné var limits = 10; (ta se pak odesílá postem)) a pomocí scrolltop, se mi automaticky nascrolluje dolů. Poté rolluju nahoru a tam začíná ten problém, při narollování nahoru se přičte proměnná (limits = limits+10;), záznamy se opravdu načtou, ale jsem automaticky nascrollovanej nahoře.

Tedy po načtení dalších záznamů, bych chtěl docílit, aby jsem se zasekl na posledním viditelném záznamu nahoře vyjma nově načteného obsahu. Podobný příklad využívá například facebook chat a tak by to mělo i fungovat.

Záznam z ajaxu 40 - až jsem nascrolluju, blokne se obrazovka zde na záznamu
............
Záznam z ajaxu 21
Záznam 20 - tady by jsem chtěl zaseknout obrazovku
Záznam 19
Záznam 18
......
Záznam 1

Poradí prosím někdo jak tohle co nejefiktivněji vyřešit? Jde spíše i o terii a postrčení (popř. link na guide), než hotové řešení.

Děkuji


Ukázal jsem příklad kdy je limits 20 a přičitá 20. Pro štourali :D
Keeehi
Profil
visionic:
Určitě by mělo javascriptem jít změřit výšku nově přidaných záznamů a o tu odscrollovat dolů. Nebo sledovat změnu výšky obalového elementu a o přírůstek odscrollovat dolů. Zapamatovat si první element před přidáním a po přidání na něj odscrollovat.
visionic
Profil *
Takže to asi budu muset předělat. V tom php serveru volaném ajaxem, se pouze mění LIMITS, tak nevím jak docílit toho měření protože se velikosti mění dle obsahu. A odscrolovani na element, to bude lítat nahoru dolu, nahoru dolu a bude to tvořit blbej dojem.


Ja jsem zkousel var promenna1 = velikost dokumentu;

po zavolani ajaxu o pridani prikladu jsem udelal var promenna2 = velikost dokumentu;

a pak jsem zavolal scrollovani na velikost promenna2 - promenna1

a zmenil jsem promenna1 = promenna2;

ale pri prvnim nacitani mi to odscrollovalo uplne dolu. Coz nechapu, ale pak to bylo u dalsich uz ok.
Keeehi
Profil
visionic:
V tom php serveru volaném ajaxem, se pouze mění LIMITS, tak nevím jak docílit toho měření protože se velikosti mění dle obsahu.
To měření provádí až javascript, ale na to už jsi asi přišel.

A odscrolovani na element, to bude lítat nahoru dolu, nahoru dolu a bude to tvořit blbej dojem.
No ano, problikávat by to mohlo. A mám pocit, že to tak dělá i zmiňovaný FB chat. Tak nějak mi taky poskakoval. Možná by bylo řešením vytvořit si duplikát, v něm odscrollovat a pak jen jeden vyměnit za druhý. Ovšem toto řešení by asi přinášelo mnohem více problémů. Odoznačil by se uživatelem označený text a jiná spousta dalších věcí, které by uživatel mohl vyrobit.

ale pri prvnim nacitani mi to odscrollovalo uplne dolu. Coz nechapu, ale pak to bylo u dalsich uz ok.
Podle popisu bych to viděl někde na nějakou nedefinovanou proměnnou. Ale těžko hádat, problém může být úplně někde jinde. console.log() je tvůj přítel.
visionic
Profil *
v jquery jsem toho zatim moc nenapsal a tak v tom pokulhavam, treba console.log() jsem nepouzival a ani jsem poradne nevedel na co to je.

Dekuji moc keeehi a jdu testovat dale.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: