21. februar 2003 - 12:04Der er
20 kommentarer og 1 løsning
Jeg er igang med en Chat
Jeg sidder iøjeblikket og er igang med at lave en chat. Men jeg har imidlertid et lille problem.
Jeg har tænkt mig at lave sådan chatten viser de 50 nyeste beskeder i chatten (altså LIMIT 0,50). Men jeg har så sat den til at sortere sådan at de nyeste beskeder står nederst i vinduet! Det fungerer så også fint, indtil videre.
Men når indholdet i den framen, hvori beskederne bliver vist, bliver længere end vinduet, som kommer der selvfølgelig en scroll frem. Jeg har så også lavet sådan, at vinduet opdaterer hvert 5 sek, men det betyder så at hver gang den opdaterer vinduet så kører scrollen jo op i toppen igen, og man er nød til at scrolle igen!..
Det er ret upraktisk, og jeg vil derfor høre hvad jeg kan gøre for at forhindre at man skal scrolle hvert 5 sek.?
Hvis du nu sætter inputtet til chatten for oven vil det jo være naturligt at den nyeste besked er for oven... Det er da den nemme løsning i hvert fald :)
Sæt en <a name="bund"></a> ind nederst (aller nederst) på siden... Når du så opdaterer skal du blot kalde siden dinside.php#bund og du vil automatisk blive placeret i bunden... Skulle virke, og er da en rimelig nem løsning :)
$mysql = mysql_query("SELECT fra, til, tekst, date_format(dato, '%H:%i:%s') AS fdato FROM chat WHERE til = '' || til = '$_SESSION[brugernavn]' ORDER BY dato ASC LIMIT 0,50"); $mysql_antal = mysql_num_rows($mysql);
<script type="text/javascript"> function re() { setTimeout("self.location.href='top.php#bund'", 5000) ; } </script>
Og sæt dette på dit <body> tag.
onload="re()"
Kan ikke lige se noget problem i din kode, men måske dur den slags bare ikke med metarefresh... Den her metode sparer dig også for det kedelige klik der kommer når den opdaterer (om ikke andet er det da meget rart :)... Håber det virker
Jeg er lige ved at ændre lidt i opsætningen af min chat, så det er ik muligt at teste det lige nu!.. Men jeg vender tilbage så snart jeg har testet det!..
OK, faktisk skulle dette være mere end rigeligt. Bare husk at du så altid skal starte med top.php#bund istedet for blot top.php... Hvis du forstår hvad jeg mener
Fordi det nok er en lidt pænere/bedre måde at gøre det på, og den virkede lige så godt her hos mig. Men kan ikke lige se hvorfor det ikke virker hos dig, desværre :(
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.