ingobar: Fehler in SELFHTML Beispiel

Hallo zusammen,

ich benutze folgendes Skript von SELFHTML:

http://de.selfhtml.org/dhtml/beispiele/navigation.htm

Wenn ich jetzt noch folgendes einbaue:

<select size="1"><option value="5a">5a</option><option value="6a">6a</option><option value="6a">6a</option><option value="6a">6a</option><option value="6a">6a</option><option value="6a">6a</option><option value="6a">6a</option><option value="6a">6a</option><option value="6a">6a</option><option value="6a">6a</option><option value="6a">6a</option><option value="6a">6a</option><option value="6a">6a</option><option value="6a">6a</option><option value="6a">6a</option><option value="6a">6a</option><option value="6a">6a</option><option value="6a">6a</option><option value="6a">6a</option><option value="6a">6a</option><option value="6a">6a</option><option value="6a">6a</option><option value="6a">6a</option></select>

Das heißt eine langes PopUp-Menü mit Scrollbar, dann erscheint das Menü, wenn ich mit Cursor auf den Scrollbar des Menüs komme. Irgendwie muss daher der "Fehler" an folgenden Zeilen liegen:

var mausposition = ev.pageX ? ev.pageX : ev.clientX;
  if (mausposition < 20) {
    Menue();
  } else {
    if (mausposition > 250) {
      noMenue();
    }
  }

Für den Browser ist die Mausposition dann nämlich schon unter 20 8-/

Könnte man das JavaScript eigentlich nicht irgendwie mit einem langen Div über die ganze Seite ersetzen?

Wie müsste ich denn das Skript verbessern, damit das nicht passiert?

Ich verstehe ehrlich gesagt nämlich nicht einmal warum der Fehler passiert.

Ach ja, ich benutzte FF2.0 unter OSX10.4.

  1. Hallo,

    sorry, ich verstehe gerade nicht, unter welchen Bedingungen das Script fehlerhaft arbeitet. Könntest du mal eine Beispielseite online stellen? Das mit der select-Auswahlliste verstehe ich nicht.

    Mathias

    1. Hier der Link:

      Beispiel

      Gehe von rechts auf das PopUp-Menü, klicke es an, damit es erscheint, und dann auf den Scrollbar des erscheinenden Menüs.

      Kannst du mir helfen? Ich finde die Navigation nämlich sehr geschickt und habe keinen Ansatz dafür wie man das anders machen könnte.

      1. Beispiel

        Gehe von rechts auf das PopUp-Menü, klicke es an, damit es erscheint, und dann auf den Scrollbar des erscheinenden Menüs.

        und dann? ich kann das von dir beobachtete Verhalten nicht nachvollziehen (FF 1.5)

        Struppi.

        --
        Javascript ist toll (Perl auch!)
        1. und dann? ich kann das von dir beobachtete Verhalten nicht nachvollziehen (FF 1.5)

          Stimmt. Es scheint am FF2.0 zu liegen. Eventuell auch an Mac OSX.

          1. Stimmt. Es scheint am FF2.0 zu liegen. Eventuell auch an Mac OSX.

            ich hab den Fehler gefunden: https://forum.selfhtml.org/?t=145662&m=945523
            scheint ein bug zu sein.

            Struppi.

            --
            Javascript ist toll (Perl auch!)
        2. Beispiel

          Es scheint an der OSX Version zu liegen. Denn unter Win und FF2.0 geht es.

          Ich schreibe mozilla mal eine Email.

          1. Hello out there!

            Ich schreibe mozilla mal eine Email.

            Oder besser in den Bugzilla@Mozilla eintragen.

            See ya up the road,
            Gunnar

            --
            „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)
            1. Oder besser in den Bugzilla@Mozilla eintragen.

              ist schon https://bugzilla.mozilla.org/show_bug.cgi?id=329938

              Struppi.

              --
              Javascript ist toll (Perl auch!)
      2. Beispiel

        Gehe von rechts auf das PopUp-Menü, klicke es an, damit es erscheint, und dann auf den Scrollbar des erscheinenden Menüs.

        Kannst du mir helfen? Ich finde die Navigation nämlich sehr geschickt und habe keinen Ansatz dafür wie man das anders machen könnte.

        So, ich hab's mir mal mit dem FF 2 angeschaut und jetzt sehe ich den Fehler.
        und zwar nehmen dort ev.pageX und ev.clientX sobald man über die Auswahlbox kommt, relative Werte ein. D.h. die obere Linke Ecke der Box ist 0/0 und wenn man die Maus über dieser Box bewegt erschient in Folge dessen das Menü.

        Soweit ich das sehe ist das ein Bug, den das passiert nur über einer ausgeklappte Auswahliste. Das kann man schön nachverfolgen http://javascript.jstruebig.de/test/mouse-test.html

        Das Skript funktioniert auch nicht im Standardmode, da es keine Einheiten bei der Positionierung verwendet.

        Struppi.

        --
        Javascript ist toll (Perl auch!)
    2. Es scheint ein Fehler im FF zu sein, denn unter Safari geht es.