Witam, robię sobie czat na stronę i żeby było widać tylko 15 ostatnich wiadomości div z czatem ustawiłem tak jak w temacie.
Tylko nowe wiadomości pojawiają się na dole i je ucina i widać tylko te stare.
Czy w stylach da się tak zrobić, aby zamiast ucinać to na dole, odcinało u góry?
Moze wiec odwroc sortowanie, tak, aby te nowe byly na samej gorze? I nie sadzisz, ze uzycie overflow: scroll
bedzie lepszym pomyslem?
Jezeli jednak takie rozwiazanie ci nie pasuje, to mozesz zmienic "polozenie" wewnatrz elementu <div>
stosujac JavaScript. Np. tutaj uzycie jQuery:
$('#message').scrollTop($('#message-' + messageId).position().top);
Zakladajac, ze #message
to kontener z wiadomosciami, a wewnatrz masz elementy #message-ID
, gdzie ID to np. numer wiadomosci. Dzieki takiemu rozwiazaniu mozesz przewinac div do danej wiadomosci jaka cie interesuje
Mala uwaga: kod nie testowany - pisany z palca, nie wiem jak zadziala, w przypadku braku scrolli w divie.
Takie coś zadziałało:
document.getElementById('shoutbox').scrollTop = document.getElementById('shoutbox').scrollHeight;
Ale pojawił się kolejny problem, ponieważ czat nie obsługuje polskich znaków...
dla chętnych, to ten czat:
http://webscripts.softpedia.com/script/Chat-Scripts/Shoutbox-Ajax-39032.html
znalazłem w kodzie taką funkcję:
mb_convert_encoding($utf8, 'UTF-16', 'UTF-8');