nyruami: Gibt es einen Weg ein Div von unten nach oben zu befüllen?

Hallo,

habe über die Suchfunktion nichts Passendes gefunden, also versuche ich es mal direkt.

Ich habe für mein Geschäft eine Seite geschrieben (PHP + HTML, kein JS) die den Mitarbeitern ihre Ziele auf Tagesbasis zeigt und noch einige andere nette Dinge tut. Funktioniert auch alles prima.

Nachdem uns aber unser Chatprogramm abhnaden gekommen ist, wurde von der Zentrale gesperrt, dachte ich, ich bau einen kleinen allgemeinen Chat in die Seite ein, ist ja nicht schweres.

Auch das funktioniert prima, einzig, die Anzeige stört mich ein wenig, da zur Zeit, die neuesten Nachrichten, wie es in HTML nunmal üblich ist, ganz oben im DIV stehen, die älteren darunter, sollte es einen Overflow, das DIV hat eine fixe Größe, geben, bekommt das DIV einen Scrollbalken, all das funktioniert prima, ABER :-)) gibt es irgendeinen Weg, das DIV umgekehrt zu befüllen, also von unten nach oben? So, dass die neueste Nachricht am unteren Rand erscheint wie in Chats üblich? Ich kann natürlich die SQL-Abfrage umdrehen, dann ist die neueste Nachricht die unterste, das passt aber nur dann, wenn es genau so viele Nachrichten gibt wie das Fenster füllen, sind es weniger ist die neueste zwar die unterste aber eben irgendwo im Fenster und sind es mehr ist die neueste nicht zu sehen, da sie dann im Overflow steht und nur durch scrollen erreichbar ist.

Ich denke, jedem ist jetzt klar, was das Problem ist, nur gibt es eine Lösung? Ich will kein Java oder sonstwas auf der Seite da Geschwindigkeit hier oberste Priorität hat, es gibt noch nicht mal Grafiken, das Design ist pures HTML.

Besten Dank im Voraus

Nyruami

  1. Hi,

    die Anzeige stört mich ein wenig, da zur Zeit, die neuesten Nachrichten, wie es in HTML nunmal üblich ist, ganz oben im DIV stehen, die älteren darunter

    gerade das ist eigentlich *nicht* üblich - normalerweise stehen die älteren Beiträge oben und scrollen dann nach oben weg, während die neuen unten dazukommen.

    gibt es irgendeinen Weg, das DIV umgekehrt zu befüllen, also von unten nach oben? So, dass die neueste Nachricht am unteren Rand erscheint wie in Chats üblich?

    Das ist eigentlich der Normalfall, wenn man nichts Besonderes unternimmt.

    Ich denke, jedem ist jetzt klar, was das Problem ist, nur gibt es eine Lösung?

    Ja, sicher. Das Einzige, was dir fehlt, ist das automatische Hochscrollen, nachdem unten ein neuer Eintrag ausgegeben wurde.

    Ich will kein Java oder sonstwas auf der Seite da Geschwindigkeit hier oberste Priorität hat

    Gerade das wäre aber vielleicht ein Argument für Java (nicht Javascript, das ist etwas völlig anderes).

    es gibt noch nicht mal Grafiken, das Design ist pures HTML.

    Und wie machst du das mit dem Aktualisieren? Da brauchst du doch wohl ein Javascript, das permanent beim Server nachfragt, ob eine neue Meldung vorliegt, und dann die Anzeige aktualisiert. Bei der Gelegenheit könnte dasselbe Javascript auch noch scrollen.

    Ciao,
     Martin

    --
    Rizinus hat sich angeblich als sehr gutes Mittel gegen Husten bewährt.
    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
    1. Ich will kein Java oder sonstwas auf der Seite da Geschwindigkeit hier oberste Priorität hat

      Gerade das wäre aber vielleicht ein Argument für Java (nicht Javascript, das ist etwas völlig anderes).

      Java ist zwar schnell, aber das JRE ist unter Windows selbst auf sehr performanten Rechnern eine Spaßbremse ;)

      Und wie machst du das mit dem Aktualisieren? Da brauchst du doch wohl ein Javascript, das permanent beim Server nachfragt, ob eine neue Meldung vorliegt, und dann die Anzeige aktualisiert. Bei der Gelegenheit könnte dasselbe Javascript auch noch scrollen.

      meta-Element mit refresh, ein Chunked-HTTP-Response der niemals aufhört und "unendlich" groß ist - mir fallen da sponan ein paar dämliche Lösungen ein ;)

  2. Habe das Ganze jetzt russisch gelöst, indem ich innerhalb des DIVs eine Tabelle absolut am unteren Rand positioniert habe und die MySQL-Abfrage umgekehrt laufen lasse, also älteste Nachrichten zuerst.

    Jetzt steht die neueste Nachricht zwar am unteren Rand des Fensters, aber scrollen über overflow funktioniert nicht mehr, da ja nie mehr irgendein Inhalt nach unten aus dem Fenster laufen kann.

    Gibts nen Weg auch den nach oben aus einem DIV ragenden Inhalt per overflow mittels Scrollbalken anzuzeigen?

    Nyruami