ugrás a tartalomhoz

Flexcroll gondok (egyedi div scollbar)

argent · 2008. Jún. 10. (K), 12.32
Emberek!
Kéne egy kis segítség.

találtam egy ilyen div görgetős cuccot - ami jó is. Annak egy Flexcroll bűvölt hozzá egy kis változtatást ami lecseréli a görgetőt egyedire. Eddig ok is, csak ott a gond hogy ha javascript-ben pakolom bele a divbe a motyót ő nem veszi észre mert ő tulajdonképpen egy üres divet lát, nem veszi figyelembe hogy közben van adat is benne.

Itt vannak linkek hogy megértsétek:
DEMO
Forráskód
 
1

mi-hogy? :)

ksgy · 2008. Jún. 10. (K), 15.06
ha javascript-ben pakolom bele a divbe a motyót ő nem veszi észre mert ő tulajdonképpen egy üres divet lát, nem veszi figyelembe hogy közben van adat is benne.

motyo == adat ami a divbe kerul?
ő == javascript kod ami az egyedi scrollbart alkotja meg?

nem lehet, hogy az IE peekaboo bugjaba futottal bele az absolute / relativ pozicionalt divek miatt? (ugy remlik, hogy nekem is volt egy ilyen gond ezzel a cuccal - az egyedi scollbaros div 'positon: relative;' megoldotta a problemat)
2

ööö

argent · 2008. Jún. 10. (K), 16.10
motyo: az adat ajaxból érkezik - bele a divbe ( document.getElementById("chatszovegek").innerHTML=chattomb; )
és a chatszovegek id-jű DIV-et kéne igy scrollogtatni ( sima scroll megy mármint az overflow-os )

Ő: igen - az egyedi scrollbart megalkoto js.

kipróbáltam nem az a hiba :(
3

initialization

Drawain · 2008. Jún. 10. (K), 16.46
Nem ástam bele maga túlságosan a kódba, de több mint valószínű az a baj, hogy az oldal onloadjánál alkalmazza a scrollozó scriptet és te ezután töltöd bele az adatot.

A megoldás ez esetben az, hogy hívd meg a flexcroll (de hülye neve van...) inicializáló függvényét a tartalom betöltése után, ami a készítő weboldala szerint valahogy így néz ki

 CSBfleXcroll('div_id');
ahol a div_id az a div amiben scrollozni akarsz. Ha ez nem megy, akkor magad inicializáld az összes scrollozó div-et. Ez így első ránézésre a forrásból valami ilyesmi, de nézz azért utána:

 fleXenv.globalInit();
4

válasz

argent · 2008. Jún. 10. (K), 17.01
másik helyen nem onload-dal van meghivva hanem egy állandóan SetInterval -lal lehivott ajax függvény hozza az értéket amit belepakol a div-be. csak egyszerűsíteni akartam az onload-dal itt a példában.

Egyébként az első kódodra nem csinált semmit
másodikra meg bejött a sima scrollos div mind2re...
5

...

Drawain · 2008. Jún. 10. (K), 18.25
Jó de éppen ezt mondtam, hogy mivel onload-nál lefut a scroll-script inicializációja, így neked az utólag feltöltött mezőkön újra kell futtatnod (tökmindegy, hogy ez most onloadnál vagy ajax-al került bele, a lényeg, hogy a scroll-script futása után)...

Nézd meg a script kódját, bogozd ki, hogy melyik függvényt kell meghívni és/vagy nézd meg a készítő oldalát, hogy miért nem működik az a függvény amit erre a problémára ír a weboldalán. Továbbá fórum és google... Ne várd el mástól, hogy ugyanazt végigcsinálja amit te is meg tudsz.
6

pontosan...

ksgy · 2008. Jún. 10. (K), 19.56
pontosan, minden egyes tartalom valtozasnal ujra kell hivni a CSBfleXcroll('div_id'); fuggvenyt, hogy az adott tartalomhoz igazitsa a scrollbart.
ezt legegyszerubben ugy tudod, hogy az ajax callbackjebe beleteszed ezt a fv-t es kesz :)
7

thx

argent · 2008. Jún. 12. (Cs), 16.29
thx - megnézem hogy sikerül :)
8

Helyzet...

argent · 2008. Jún. 12. (Cs), 17.31
Helyzet a köv: Beraktam a script elé - tényleg előbb futott le a script mint hogy betöltötte volna a div -et S...
Szal most lefut - berakja - és görgetni is lehet csak görgető sávom nincs :)
9

ne ezt

Drawain · 2008. Jún. 13. (P), 00.06
Ha rám hallgatsz nem ezt a scriptet használod. Unalmamban (ugye most, hogy vizsgára kellene tanulni :)) kicsit nézegettem a forrást meg próbálgattam és eléggé bugosnak tűnt. Ráadásul a készítő más scriptjei is eléggé böngészőfüggőekre sikerültek, ami megint nem túl bíztató.

Nézz utána a jquery vagy prototype pluginok között a scroll-ra, biztos van néhány hasonló.
10

hmm

argent · 2008. Jún. 13. (P), 01.54
hmm... Hát igen... én is belenéztem elég érdekes egy forráskód... nah mind1 - thx aazért utánanézek...