Achim: MouseOver-Event

Hallo,

wie kann ich während eines Skriptdurchlaufs (do-while-Schleife) feststellen, ob der Mauszeiger sich noch über einem speziellen Bild befindet? Der
Skript soll abbrechen, sobald der Mauszeiger von dem Objekt wegbewegt wird.

Vielen Dank für Eure Ratschläge im voraus!

  1. Auch hallo

    Deine Frage kann ich so nicht beantworte.

    Ich setzte mal wo anders an und frage Dich:
    Was willst Du genau machen/erreichen? Denn mit einer do-while-schleife auf etwas warten ist ziemlicher Unsinn (sehr grosser sogar)!

    Ich denke es ginge in die Richtung, dass Du einen Event des Bildes auswerten muss, onMouseOut oder was auch immer...

    Aber eben, zuerst musst Du erklären, was Du tun willst. Wenn es wirklich so ist, dass Du den Loop _auch_ durch das Event "wegvomBild" beenden willst, dann wüsste ich ehrlich gesagt nicht ob das geht (ich denke aber eher nicht)

    cheers
    kaepten

    1. Hallo,

      ich möchte eine Dia-Show starten, die mit einem MoueOver gestartet wird. Die Show soll beendet werden, sobald der Mauszeiger das Objekt verläßt. Die Schleife wechselt die Bilder der Show aus.

      Gruß Achim

      1. Hoi Achim

        Dann ist das Posting von Kess oben die perfekte Lösung für Dein Problem!

        cheers
        kaepten

  2. Hallo Achim,

    wie kann ich während eines Skriptdurchlaufs (do-while-Schleife) feststellen, ob der Mauszeiger sich noch über einem speziellen Bild befindet? Der
    Skript soll abbrechen, sobald der Mauszeiger von dem Objekt wegbewegt wird.

    ereignisgesteuerte Programmierung ist nicht immer ganz einfach verstehen. Sie funktioniert nicht als ein einziger kontinuierlicher Programmablauf, sondern die durch Events angestossenen Scripts starten unabhaengig voneinander. Der Event OnMouseOver tritt ein, wenn sich die Maus ueber einem Objekt befindet. Der Event OnMouseOut tritt ein, wenn sich die Mouse vom Objekt fortbewegt, also sich nicht mehr ueber dem Objekt befindet. Beide Events koennen Scripts anstossen, die dann unabhaengig voneinander ablaufen. Das durch OnMouseOver gestartete Script weiss nichts von dem durch OnMouseOut gestarteten und umgekehrt.
    Oder anders ausgedrueckt: Tritt ein Ereignis ein, wird eine Verarbeitung gestartet. Sie laeuft bis zum Ende durch, unabhaengig von weiteren moeglicherweise eintretenden Eriegnissen. Diese werden dem Script nicht mehr mitgeteilt, sondern starten eigene Verarbeitungen.
    Du muesstest also im Script, das durch OnMouseOver gestartet wird, selbst permanent die Mouseposition ueberpruefen und die weitere Verarbeitung davon abhaengig machen. Einfach geht es allerdings mit einem Schalter, der von mehreren Scripts bedient werden kann. Startet das Script auf das Ereignis OnMouseOver hin, dann wird der Schalter auf "ein" gesetzt. Bei OnMouseOut startet ein andereres Script, welches diesen Schalter wieder auf "aus" setzt. Als Schalter benutzt man eine Variable.
    Beispiel:
    var Schalter = "aus"

    function MausUeberBild() {
      Schalter = "ein";
      ...
      while (Schalter = "ein") {
        ...
      }
    }

    function MausAway[] {
      Schalter = "aus"
    }

    Viele Gruesse
      Kess