max: mit getElementById(xxx).style.left Wert ausgeben

Hallo

Ich habe folgendes Problem, ich will mir per getElementById(xxx).style.left die linke Position einer Tabelle oder eines Divs ausgeben lasse. Leider funktioniert das im Netscape nicht.

Es ist aber kein Probelm per
document.getElementById(str3000).style.left = document.getElementById(str2000).style.left;
str3000 die position von str2000 zuzuweisen.

Wie kann ich die Zahl dafür ausgeben lassen?

schon mal danke im voraus
max

  1. Hi,

    [...] getElementById(xxx).style.left die linke Position einer Tabelle oder eines Divs ausgeben lasse. Leider funktioniert das im Netscape nicht.

    Position eines positionierten Divs:
    http://www.wendenburg.de/test/divPos.html

    Beachte: wenn Doctype gesetzt ist, verlangen Dom-Browser eine Einheit, bzw liefern einen Wert-Einheitstring zurueck, der mit parseInt() in eine Ziffer konvertiert werden kann.

    Die Offsets von nicht positioniertem Html findest Du, indem die offsets aller Elternelemente addiert werden, siehe die Funktion findPos z. B auf dieser Seite: http://www.wendenburg.net
    Bin mir nicht sicher, ob das fuer NC 4x mit Tabellen geht, sonst ein Referenz-Gif verwenden.

    Gruesse  Joachim

    1. Danke für den Tip, jedoch bekomm ich mit
      var LeftPosition = parseInt(document.getElementById(BorderTable).style.left)
      nur ein NaN, und somit einen Fehler :(

      Gibts noch etwas anderes oder mache ich noch andere Fehler?

      mfg
      max

      1. Hi,

        var LeftPosition = parseInt(document.getElementById(BorderTable).style.left)
        nur ein NaN, und somit einen Fehler :(

        Was ist BorderTable? Eine Variable?
        Falls nicht, fehlen die Anführungszeichen drumherum.

        Grüße  Joachim

        1. Hi

          BorderTable ist die Id von der Tabelle.
          Sorry das ich die Anführungszeichen vergessen habe, nützt aber auch nichts.

          Habe jetzt bereits versucht über ein <div> tag zu etwas zu kommen, einem gif und tabelle und tabellenzelle.

          Leider ist bis jetzt noch immer nichts heraußen.
          Das ist jetzt mal die Syntax für Netscape 6

          } else if(document.getElementById) {
          var LeftPosition = document.getElementById("P3").style.left;
          var TopPosition = document.getElementById("P3").style.top;
          }

          das ganze in nem alert ausgegeben liefert leider immer nur ein NaN :(

          Ich weiß echt nicht weiter, aber danke für deine hilfe und die Geduld ;)

          mfg
          max

          1. Hab jetzt mal eine Testdatei erstellt, mit der geht es komischerweise, aber in meiner gewünschten datei nicht.

            Is es möglich das Netscape das irgendwie nicht mag wenn in der Seite noch diverse Datenbankaufrüfe und Window Forms (oder wie genau sie heißen) enthalten sind?

            mfg
            max

          2. Hallo max,

            } else if(document.getElementById) {
            var LeftPosition = document.getElementById("P3").style.left;
            var TopPosition = document.getElementById("P3").style.top;
            }

            das ganze in nem alert ausgegeben liefert leider immer nur ein NaN :(

            Was ist hier "das ganze"?

            Was ergibt alert(document.getElementById("P3").style.left); ?

            Die left/top-Werte stehen nur dann zur Verfügung, wenn sie vorher angegeben wurden. Ansonsten kannst du sie über offsetLeft/offsetTop herausbekommen.

            Versuche mal alert(document.getElementById("P3").offsetLeft);

            Hierbei wird der Abstand zum Elternelement ausgegeben. Wenn "P3" also beispielsweise noch in einem Div steckt, brauchst du eine rekursive Funktion, welche die Abstände der Elternelemente so lange addiert, bis sie auf der höchsten Ebene angekommen ist. Siehe http://forum.de.selfhtml.org/archiv/2002/6/14102/#m78284.

            Grüße, Stefan

            1. Hi

              also mit das ganze meinte ich jeweils LeftPosition und TopPosition. Alles gibt einen Alert aus.
              Aber egal, dank deiner Hilfe klappt es nun endlich im Netscape 6
              MUCHOS GRACIAS SENOR
              du hast mir einige überstunden erspart ;)

              jetzt fehlt mir das ganze nur noch für Netscape 4 und ich habs endlich geschafft :)

              mfg
              max

              1. und so dumm wie ich bin vergess ich wieder was und schreib nur blödsinn

                ich meinte natürlich: der Alert mit Left oder TopPosition gibt/gab immer NaN oder auch manchmal gar nichts zurück.
                aber ist ja Problem der vergangenheit.

                mfg
                max

                PS: und nochmals danke :D