15. juni 2004 - 22:39
Der er
20 kommentarer og 1 løsning
Automatisk scrolle til bunden af indhold i DIV
Jeg er igang med at lave en chat der via en skjult IFRAME opdaterer en DIV på hovedsiden med nyeste beskeder. Denne DIV har fast højde og overflow:auto, således at en scrollbar fremkommer i min DIV hvis dette er nødvendigt. Men da de nyeste beskeder postes nederst har jeg brug for via javascript at kunne scrolle til bunden af mit lag hver gang jeg opdaterer det. Kan man bruge scrollTo eller scrollBy på en eller anden smart måde her ? Husk på at det ikke er scrollbaren i BODY jeg skal manipulere men en scrollbar direkte i en DIV !!!
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
element.scrollTo(0,element.scrollHeight);
hmm - får fejl på denne c=parent.document.getElementById('chat'); c.scrollTo(0,c.scrollHeight); Objektet understøtter ikke denne egenskab eller metode ?!?
ovenstående kaldes fra en IFRAME i hoved dokumentet har jeg en ganske ordinær DIV med fast defineret højde og overflow:auto
pt. tilskriver jeg nyt indhold til denne DIV via c.innerHTML = bla bla og det virker fint - men c.scrollTo er den ikke med på.... :-(
scrollTo er også kun en methode i window objectet og virker derfor heller ikke på endhvert element. Den letteste måde for dig ville være at bruge en iframe hvilken du godt kan scrolle i med scrollTo
det er lidt noget snask og skulle scrolle til bunden af en div :o( Jeg kender kun en metode, og den fungerer p.t. kun i ie - og det bliver du vel ikke glad for ! scrollTo fungerer desværre kun på window objekter :o) en anden mulighed er at gøre brug af offsetTop, men så skal man også kreere en egen scroller!
Hvad med at tage udgangspunkt i den, jeg egentlig viste dig, nemlig at lægge al den nye tekst ind i toppen ?-)
jeg foretrækker nu at vise nyeste poster i bunden... men nu har jeg smidt beskederne ind i en selvstændig IFRAME kaldet 'chatMsg' hvorledes fanger jeg nu window objektet fra en anden IFRAME i hovedsiden ?
dette virker ikke rigtig... parent.chatMsg.window.scrollTo(0,parent.chatMsg.window.scrollHeight)
15. juni 2004 - 23:18
#10
parent.chatMsg er så dit window-objekt, og når du skal bruger indholds-objektet er det parent.chatMsg.document.body (.innerHTML !-) osv.
15. juni 2004 - 23:20
#11
hmmm - hvordan ser scrollTo koden så ud ?
15. juni 2004 - 23:24
#12
parent.chatMsg.scrollTo(0,parent.chatMsg.document.body.scrollHeight);
15. juni 2004 - 23:24
#13
er vel et hit :o)
15. juni 2004 - 23:24
#14
prøv: parent.chatMsg.window.scrollTo(0,parent.chatMsg.document.body.scrollHeight); hvilket det vist nok hedder i IE
15. juni 2004 - 23:26
#15
yes - så begynder det at ligne noget !!! :-)
15. juni 2004 - 23:26
#16
og måske s = (parent.chatMsg.scrollMaxY) ? parent.chatMsg.scrollMaxY : parent.chatMsg.document.body.scrollHeight; parent.chatMsg.scrollTo(0,s);
15. juni 2004 - 23:37
#17
tak alle for hjælpen :-) kan I ikke alle (såfremt I ønsker points) smide et svar....?
15. juni 2004 - 23:43
#18
Men window burde være overflødig på den næst-sidste skovenborg smed (parent.chatMsg er et window-objekt !-) -- dvs. Nicks 23:24:06 og Ulriks 23:24:25 burde gøre det samme !o]
15. juni 2004 - 23:45
#19
jep, glemte at fjerne den ;-) Bare læg mærke til den jeg lavede i 23:26:21 - den burde også virke i Mozilla (såfremt den første ikke gør ;-)
27. juni 2004 - 13:51
#20
hej alle jeg savner nogle svar, så jeg kan uddele nogle points til jer.... :-)
27. juni 2004 - 13:58
#21
virker det da ?-) Men okay - her er et. Og måske roenving også kunne lægge et så det bliver rimeligt fordelt :-)
Vi tilbyder markedets bedste kurser inden for webudvikling