COSMO2000: Javascriptfunktion/absolute Positionierung bei Monitorgrössen

Hallo,
ich habe ein schwebenes Menü mittels Javascript, welches bei 1024*768 optimal positioniert ist.
Leider nicht bei anderen Grössen. Könnt ihr mir sagen, wie ich eine Funktion schreiben kann, der die absolute Position aus der jewahligen
Monitorgrösse ausliest.?
Wenn ich das zu umständlich erklärt habe, schaut doch unter www.schwedenkrimi.de/start.htm und diese seite dann in verschiedenen Grössen 800*600 / 1024*768 1280*1024 an und dann sehr ihr schon das Übel

Danke

COSMO

  1. Hi COSMO,

    Du hast die/eine Lösung schon in Deiner Frage genannt. Aber der Reihe nach.

    Leider nicht bei anderen Grössen. Könnt ihr mir sagen, wie ich eine Funktion schreiben kann, der die absolute Position aus der jewahligen
    Monitorgrösse ausliest.?

    Die absolute von was l i e s t?
    Ich dachte, Du willst diese Position erst aus der absoluten Monitorgröße ermitteln?

    Das ist auch schon eine Lösung:
    Ermittle die Bildschirmauflösung (naäheres in der JavaScript Objektreferenz von SELFHTML), der Rest ist einfache Subtraktion.

    Grüße,
    Martin

    1. Hi Martin,

      Ich dachte, Du willst diese Position erst aus der absoluten Monitorgröße ermitteln?

      Ja,aber wo muss ich das bei dem schwebendem Menue(Flash) eingeben ?

      Hier das Script zum Fliegen, ist übrigens auch noch ein Fehler drin, im Explorer kommt manchmal eine Fehlermeldung :

      self.onError=null;

      currentX = currentY = 0;
      whichIt = null;
      lastScrollX = 0; lastScrollY = 0;

      NS = (document.layers) ? 1 : 0;
      IE = (document.all) ? 1: 0;

      function heartBeat() {
        if(IE) {
          diffY = document.body.scrollTop;
          diffX = document.body.scrollLeft;
        }
        if(NS) {
          diffY = self.pageYOffset;
          diffX = self.pageXOffset;
        }
        if(diffY != lastScrollY) {
          percent = .1 * (diffY - lastScrollY);
          if (percent > 0)
            percent = Math.ceil(percent);
          else
            percent = Math.floor(percent);
          if(IE)
            document.all.floater.style.pixelTop += percent;
          if(NS)
            document.floater.top += percent;
          lastScrollY = lastScrollY + percent;
        }
        if(diffX != lastScrollX) {
          percent = .1 * (diffX - lastScrollX);
          if(percent > 0)
            percent = Math.ceil(percent);
          else
            percent = Math.floor(percent);
          if(IE)
            document.all.floater.style.pixelLeft += percent;
          if(NS)
            document.floater.left += percent;
          lastScrollX = lastScrollX + percent;
        }
      }
      if(NS || IE) action = window.setInterval("heartBeat()",1);

      und die css anweisung ist :

      #floater {position: absolute;left: 800;top: 10;width: 155;visibility: visible; z-index: 1;

  2. Hallo !

    ich habe ein schwebenes Menü mittels Javascript, welches bei 1024*768 optimal positioniert ist.

    Welches Menü? ;-)

    Ich habe mir deine Seite sowohl mit Opera 5.11 wie auch NS 4.7 auf WIN 95 bei 1024x768 angesehen. Da war kein Menü!

    Gruß,

    kerki

    1. Hallo Kerki,

      wenn es zu sehen wäre, dann müsste ich doch nicht euch fragen.
      Im Internet Explorer ist es optimal (manchmal kommt aber auch da eine Fehlermeldung.

      Welches Menü? ;-)

      Ich habe mir deine Seite sowohl mit Opera 5.11 wie auch NS 4.7 auf WIN 95 bei 1024x768 angesehen. Da war kein Menü!

      Bitte nochmal mit dem Explorer checken, aber eigentlich funzt es beim NS 4.7 auch.

      Opera geht es leider gar nicht, das stimmt ...auch hier Bitte eine Lösung !!!!

      COSMO

      1. Hi,

        ich habe das Menü auch nicht gleich als solches erkannt.

        Achtet auf den Balken auf der rechten Seite mit den Kringeln drin.

        gruss,
        mac

        1. Hallo !

          ich habe das Menü auch nicht gleich als solches erkannt.
          Achtet auf den Balken auf der rechten Seite mit den Kringeln drin.

          Wie das Menü aussehen sollte und wo es positioniert sein sollte, wusste ich sehr wohl, da ich zuerst mit meinem IE 5 auf der Seite war. Ich weiß, ich bin manchmal fies. ;-)

          Mit NN 4.7 und Opera 5.11 war dieses Menü nicht zu sehen und selbst mit dem IE zockelte das Menü gemächlich hinter meinen Scrollbewegungen her.

          Ich halte den von COSMO2000 Ansatz für völlig falsch.

          Ein Menü, dass nur bei bestimmten Browsern mit aktiviertem JavaScript und mit aktiviertem Java funktionstüchtig ist, verdient den Namen in meinen Augen gar nicht.

          Zumal, wenn sich, wie im vorliegenden Fall, fast dasselbe Design mit validem HTML und etwas (optionalem) JavaScript zur optischen Auflockerung realisieren ließe.

          Gruß,

          kerki

          gruss,
          mac

          1. Ach mensch kerki, du bist hier also der Held,

            natürlich bist du manchmal fies haha,lächl....

            Aber anstatt mir eine Hilfestellung zu geben, laaberst du nur schickes alternativkram wie z.B. validem HTML , was soll das sein ?

            Das problem ist natürlich durch einen Neuaufbau leicht browserunabhängig zu bekommen, es muss doch aber auch eine Lösung für das bestehende Problem geben !!!!!

            Also kerki, entweder du hilfst, weil du es kannst oder du nerfst halt weiter mit deiner Prosa, weil du halt der "fiese" bist

            COSMO

            1. Hallo !

              Ach mensch kerki, du bist hier also der Held,

              Huch, wer/was ist dir denn über die Leber gelaufen?
              Dass ich hier der Held bin, stimmt sicher nicht, und was JacaScript anbelangt, schon gleich überhaupt nicht.

              Aber anstatt mir eine Hilfestellung zu geben, laaberst du nur schickes alternativkram wie z.B. validem HTML , was soll das sein ?

              Ich finde meinen Bemerkung, valides HTML z.B. mit einer zusätzlichen Tabellenspalte rechts, oder, wenn das Menü partout immer oben rechts sein soll, ein Frameset einzusetzen, hilfreich.

              Das problem ist natürlich durch einen Neuaufbau leicht browserunabhängig zu bekommen, es muss doch aber auch eine Lösung für das bestehende Problem geben !!!!!

              Nö, muss es nicht! Außer du schreibst speziell für deine Webseite einen eigenen Browser, den du auf der Startseite zum Download anbietest.

              Um dir aber dennoch ein wenig auf dem von dir gewählten Weg, den ich nach wie vor für völlig falsch halte, zu "helfen", zumindest noch soviel:

              Der IE 5 zeigt die Seiten zwar korrekt an, meldet aber einen JavaScript Error in Zeile 149: "Objekt erforderlich".

              Opera 5.11 zeigt den "Layer" zwar zu Beginn an, positioniert ihn beim Scrollen aber nicht neu. Mangels erforderlichem Plug-In, sehe ich nur ein weißes Kästchen, das halb den rechten olivfarbenen Rand überdeckt.

              Netscape 4.70 stürzt beim Besuch der Seite regelmäßig kommentarlos ab.

              Wenn es dir nur darum geht, das (evtl.) technisch Machbare auf der Seite zu demonstrieren, wünsche ich dir noch viel Spaß bei der Fehlersuche. Ich dachte, es ginge dir darum, den Besuchern der Seite Informationen bereit zu stellen. Da habe ich mich wohl geirrt.

              Gruß,

              kerki

          2. Hi,

            ich wusste nicht, ob du nen IE hast.

            Ich finde das Menü auch nicht sehr prickelnd. Wer braucht so ein Teil? Wenn er die Seite anständig erstellt, ist solch ein SchnickSchnack garnicht nötig.

            Gruss,
            mac