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 |
#2 · Zasláno: 29. 12. 2016, 01:07:30
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 |
#4 · Zasláno: 29. 12. 2016, 02:55:17
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 * |
#5 · Zasláno: 29. 12. 2016, 03:58:18
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. |
||
Časová prodleva: 8 let
|
0