mdf
Mitglied
Registriert: 04.08.2007
Beiträge: 6
|
|
Hi Freaks!
Also ich habe mir da was zusammengebastelt. So'n kleiner Chat. Mit AJAX. Nun bekomme ich die Sachen die im DIV dargestellt werden sollen aus der Datenbank als Text. Drin sind auch die HTML-Tags. Die Anzeige funktioniert auch. Aber, ich übertrage immer alle 100 Zeilen und stelle die im DIV dar und dann scrolle ich den DIV, damit der letzte Beitrag zu sehen ist. Nun flackert das alle 5 Sekunden. Kann man an den vorhandenen Inhalt des DIV nicht noch weiteren Inhalt anfügen?
So sieht der Codeausschnitt jetzt aus: document.getElementById("asb_content").innerHTML=mdaten; //in mdaten steht der ganze Test drin(inkl. HTML CODE) asb_content.scrollTop = asb_content.scrollHeight;
Damit wird auch alles richtig angezeigt, nur er löscht den ganzen Inhalt des DIV und schreibt jedes mal alles neu rein, soll aber nur die letzte Zeile anfügen.
Wer kann mir da bitte mal helfen. Mfg Torsten
|
|
| 04.08.2007 18:10:47 |
|
HTMELL
Administrator
Registriert: 11.05.2006
Beiträge: 544
|
|
Hi, einfach nur etwas an den Text anzuhängen ohne den kplt. Text zu erneuern wird nicht funktionieren, da aus Sicht von Javascript eben nur der gesammte Text existiert. Du könntest aber jede Textzeile in ein Element packen (z.B. div oder span). Dann kannst du hinter das letzte Element mit DOM weitere Elemente (welche wiederum neue Textzeilen enthalten) einfügen, ohne das dies Auswirkungen auf die davor stehenden hätte.
_______________________________________ mfg Thomas Mell
www.validome.org
|
|
| 04.08.2007 19:08:22 |
|
mdf
Mitglied
Registriert: 04.08.2007
Beiträge: 6
|
|
Hi, habe jetzt folgendes:
var new_span = document.createElement("span"); new_span.innerhtml=mdaten; document.getElementById("asb_content").appendChild(new_span);
funktioniert aber nicht. Im Div wird nichts angehängt. Was habe ich da falsch gemacht? Mfg Torsten
|
|
| 05.08.2007 13:26:31 |
|
blind-fish
Mitglied
Registriert: 19.07.2007
Beiträge: 22
|
|
Die Mischung von Javascript aus dem DOM-Modell und dem IE-DHTML ist nicht so toll... Probier doch deine erste Lösung, nur dass du statt
Code:
document.getElementById("asb_content").innerHTML=mdaten; |
das hier nimmst:
Code:
document.getElementById("asb_content").innerHTML= document.getElementById("asb_content").innerHTML + mdaten; |
Dann wird dem Elementinhalt einfach der ursprüngliche Inhalt + neuer Inhalt zugewiesen.
Gruß, blind-fish
|
|
| 05.08.2007 19:05:40 |
|
mdf
Mitglied
Registriert: 04.08.2007
Beiträge: 6
|
|
Nein, dann löscht er den alten Inhalt und schreibt nur die neue Zeile rein. mit += mdaten gehts auch nicht.
|
|
| 05.08.2007 20:32:47 |
|
mdf
Mitglied
Registriert: 04.08.2007
Beiträge: 6
|
|
Jetzt habe ich es:
var new_div = document.createElement("DIV"); document.getElementById("asb_content").appendChild(new_div); document.getElementById("asb_content").innerHTML= document.getElementById("asb_content").innerHTML + mdaten;
Das funktioniert. ABER: ich kriege die Fehlermeldung: 'document.getElementById(...)' ist Null oder kein Objekt
Was mache ich nun?
|
|
| 05.08.2007 20:58:47 |
|
mdf
Mitglied
Registriert: 04.08.2007
Beiträge: 6
|
|
Problem gelöst...
Habe im Body jetzt onload drin.
Danke für Eure Hilfe.
Mfg Torsten
|
|
| 05.08.2007 21:34:44 |
|
Wechsel zu
Die letzten Beiträge aus diesen Forum
|
|