Sven: onMouseStop

Hi,

ich habe einen Client gebaut, bei dem mit Javascript und dem Event management von Prototype die Bildkoordinaten auf mousemove ausgelesen werden:

Event.observe($('imgId'), 'mousemove', showCoords);

Jetzt möchte ich erreichen, daß jedesmal wenn der User die Mausbewegung stopt (ohne click!) eine andere Funktion ausgelöst wird (also quasi "onMouseStop" das es ja bekanntlich nicht gibt).
Hat da jemand eine Idee oder ein Beispiel (auch andere Frameworks)?

Danke
Sven

  1. Lieber Sven,

    Du müsstest lediglich die aktuellen Mauskoordinaten irgendwo abspeichern und in kurzen http://de.selfhtml.org/javascript/objekte/window.htm#set_interval@title=Intervallen prüfen, ob sich die aktuellen http://de.selfhtml.org/javascript/objekte/event.htm#client_x_y@title=Mauskoordinaten von den zuletzt gespeicherten unterscheiden. Sollte dies über einen definierten Zeitraum der Fall sein, dann rufst Du eine passende Funktion auf.

    Liebe Grüße,

    Felix Riesterer.

    --
    ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
  2. ich nochmal,

    hab mittlerweile folgende Lösung gefunden / gebastelt:

      
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">  
    <html>  
    <head>  
    <title></title>  
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">  
    <script type="text/javascript">  
    [code lang=javascript]  
    function logxy(x,y){  
    document.getElementById('myxyId').value = x + " " + y;  
    }  
      
    function mymove(e){  
    clearTimeout(mymove.thread);  
    var e=e? e : window.event, x=e.clientX, y=e.clientY,  
    mymousestop=function(){  
    logxy(x,y);  
    };  
    mymove.thread=setTimeout(mymousestop, 500);  
    }  
      
    if ( typeof window.addEventListener != "undefined" )  
    document.addEventListener( "mousemove", mymove, false );  
    else if ( typeof window.attachEvent != "undefined" )  
    document.attachEvent( "onmousemove", mymove );  
    
    

    </script>
    </head>
    <body>
    <input type="text" id="myxyId">
    </body>
    </html>
    [/code]

    Funktioniet mit Firefox 2/3, Chrome, Opera und IE 6/7.

    Gruß
    Sven

  3. Hallo Sven,

    vieleicht bringt dich diese kleine Spielerei ja weiter: Mausometer. Arbeitet in etwa so, wie Felix es vorgeschlagen hat.

    Gruß, Jürgen

    PS

    Hat da jemand eine Idee oder ein Beispiel (auch andere Frameworks)?

    Warum die Leute immer einen Bagger anfordern, nur weil sie keine Lust oder Zeit haben, sich mit der Funktionsweise eines Spatens auseinander zu setzen?

  4. Grüße,
    wie wäre es mit einer funktion die man in intervalen von ein paar secunden aufzurufen versucht, der aufruf aber onMouseMove unterbrochen wird? stoppt die maus - keine unterbrechung - funktion wird ausgeführt?
    MFG
    bleicher

    1. wie wäre es mit einer funktion die man in intervalen von ein paar secunden aufzurufen versucht, der aufruf aber onMouseMove unterbrochen wird? stoppt die maus - keine unterbrechung - funktion wird ausgeführt?

      Genau das hat er vor zwei Stunden selbst vorgeschlagen https://forum.selfhtml.org/?t=177613&m=1170231

      Struppi.

      1. Grüße,

        Genau das hat er vor zwei Stunden selbst vorgeschlagen

        autsch - peinlich ;/

        MFG
        bleicher