naeko: Wertausgabe einer JavaScript-Funktion

Hallo,
ich habe folgendes Problem:
ich habe eine JS-Funktion, die mir ein Wert berechnet.
Diesen Wert möchte ich in HTML in einem <div> unterbringen.Dieser <div> enthält bereits Inhalt und wird durch den Wert der JS-Funktion einfach überschrieben. Ich möchte diesen Wert aber sozusagen anhängen (also den alten nicht löschen).Ich mache es bis jetzt so:
js-funktion:
function wert()
{
var wert = .....; //hier wird wert berechnet
document.getElementById("header").innerText = wert;
}
html:
...
<body onload="wert()">
<div id="header">
hier kommt verschiedener Text,
<br>
der aber durch Asugabe der JS-Funktion ersetzt wird.
</div>
...

  1. Moin,

    document.getElementById("header").innerText = wert;

    document.getElementById("header").innerText += wert;

    sollte den Text anhängen.

    Viele Grüße,
    Jörg

    1. Moin,

      document.getElementById("header").innerText = wert;
      document.getElementById("header").innerText += wert;

      sollte den Text anhängen.

      Viele Grüße,
      Jörg

      also an sich funktioniert das prima.
      nur wird mein im <div> definiertes Layout (über CSS) dadurch komlett zerschossen. Kann man das irgendwie abstellen?

      1. Wie wird denn dein Layout zerschossen?

        Gruß aus Gotha
        Ggriever-Homepage

        1. Wie wird denn dein Layout zerschossen?

          Gruß aus Gotha
          Ggriever-Homepage

          naja....wenn man hier bilder einfügen könnte, würde ich paar screenshots zeigen.
          also komisch find ich, dass der quelltext-anzeiger mir den gleichen code zeigt (egal ob ich js-funktion aufrufe oder nicht),an sich ist es so:
          css-datei
          #header {
           background-image: url(../images/logo.gif);
          }
          ausgabe der html-datei:
          <div id="header">
           <div class="top_row">
            <div class="logo">
            <a href = "http://www.www.de"><img src="/useTiles/images/logo.gif" alt = "LOGO"/></a>
            </div>
            <div class="top_nav">
             <ul>...
          durch aufruf der js-funktion wird z.B. das Logo nicht angezeigt

          1. Hallo

            naja....wenn man hier bilder einfügen könnte, würde ich paar screenshots zeigen.

            kann man, wie es geht steht in der Hilfe.

            also komisch find ich, dass der quelltext-anzeiger mir den gleichen code zeigt (egal ob ich js-funktion aufrufe oder nicht),an sich ist es so:

            am Quelltext ändert sich ja auch nichts. Schau Dir das mal mit dem DOM-Inspector des Firefox an.

            Freundliche Grüße

            Vinzenz

            1. Hallo

              naja....wenn man hier bilder einfügen könnte, würde ich paar screenshots zeigen.

              kann man, wie es geht steht in der Hilfe.

              also komisch find ich, dass der quelltext-anzeiger mir den gleichen code zeigt (egal ob ich js-funktion aufrufe oder nicht),an sich ist es so:

              am Quelltext ändert sich ja auch nichts. Schau Dir das mal mit dem DOM-Inspector des Firefox an.

              Freundliche Grüße

              Vinzenz

              ok...danke...kann ich auch Grafiken einbinden, wenn ich sie lokal auf der Festplatte habe?welche uri schreib ich denn?localhost oder einfach c:\image.gif

              1. Moin,

                ok...danke...kann ich auch Grafiken einbinden, wenn ich sie lokal auf der Festplatte habe?welche uri schreib ich denn?localhost oder einfach c:\image.gif

                Nope. Die musst Du schon auf irgendeinen Web-Server stellen, der von außen erreichbar ist.

      2. Hallo,

        also an sich funktioniert das prima.
        nur wird mein im <div> definiertes Layout (über CSS) dadurch komlett zerschossen. Kann man das irgendwie abstellen?

        Also, ich weiss nicht, wie sich innerText genau verhält...ich benutze eigentlich ausschliesslich innerHTML, vielleicht ist das etwas besser.

        Du hast allerdings immer das Problem, dass es manchen Browsern in Spezialfällen nicht schmeckt, wenn Du auf diese Weise im Quellcode rumbohrst.
        Als etwas robuster geltenDOM-Methoden zurVeränderung des Quellcodes:

        var textNode = document.createTextNode("Dein neuer Text");
        document.getElementById("Ziel-Div").appendChild(textNode);

        (ohne Gewähr).

        Wenns damit auch nicht besser geht, kann man nur versuchen, dem Browser ein bisschen "Vesrschnaufpause" beim rendern zu gönnen, z.b.:

        • Das DIV, welches verändert wird, kurz ausblenden, dann wieder einblenden
        • Vor dem einblenden ein kruzes Timeout, damit der Browser zeit für die Restukturierung hat, bevor er mit dem Rendern anfängt

        usw.

        Hierfür gibt es leider kein Patent-Rezept - hilft nur Probieren, ein bisschen Kenntnis von Browser-Macken und "Einfühlungsvermögen" für die Render-engine des Browsers :)