IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Comment savoir si la souris ne bouge plus ?


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2006
    Messages : 29
    Points : 25
    Points
    25
    Par défaut Comment savoir si la souris ne bouge plus ?
    Hello,
    Je bosse sur des carte géographiques où les points rouges sont des restaurants.
    Je veux le comportement suivant sur la map : si la souris s'arrête pendant plus d'une demi seconde au dessus de la map, je fais une requete au serveur (ajax) pour connaitre les noms des restos dans un rayon de 1km autour de là où pointe la souris.
    J'aimerais donc écrire une fonction qui me renvoie un booléen : true si la souris n'a pas bougé depuis 1/2 seconde, et false sinon. Il faut bien entendu qu'elle le fasse continuellement. Comment s'y prendre ? peut-on créer un événement pour ça? ma fonction envoyant la requete serait alors un écouteur de cet événement, et réagirait en conséquence.
    J'ai déjà testé ce genre de chose, c'est chaotique :

    onmousepaused = function() {
    while(!document.onmousemove){
    setTimeout("fct", 400);
    }
    };


    function fct(){
    alert("bouge plus...");
    }

    Une idée quelqu'un ? Merci
    Seb

  2. #2
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 650
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 650
    Points : 11 142
    Points
    11 142
    Par défaut
    bonjour,

    Voici un exemple avec un div. Le script gère le mousemove dans le div et le mouseout (il faut arrêter le chrono si tu sors du div) et réinitialise le texte du div "idOut":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
     
    <html>
    <head>
    <title></title>
    <style type="text/css">
    <!--
    .paragraphe{
    background-color: #DDDDDD;
    width: 200px;
    height: 200px;
    }
     
    //-->
    </style>
     
    <script type="text/javascript">
    <!--
    var chrono=null;
    var duree = 500; //en ms
     
    function mouseStop()
    {
     document.getElementById("idOut").innerHTML="souris arr&ecirc;t&eacute;e";
     chrono = null;
    }
     
    function mouseMove()
    {
     document.getElementById("idOut").innerHTML="souris en mouvement dans le div";
     
     if (chrono!=null)
     {
      clearTimeout(chrono); //reset du chrono
      chrono = null;
      chrono = setTimeout("mouseStop()",duree);
     }
     else
     {
      chrono = setTimeout("mouseStop()",duree);
     }
     
    }
     
    //arret du chrono si on sort du div
    function mouseOut()
    {
     document.getElementById("idOut").innerHTML="souris en dehors du div";
     
     if (chrono!=null)
     {
      clearTimeout(chrono);
      chrono = null;
     }
    }
     
    //-->
    </script>
     
    </head>
     
    <body>
    <div class="paragraphe" onmousemove="mouseMove()" onmouseout="mouseOut()">
    bla bla bla bla bla
    bla bla bla bla bla
    bla bla bla bla bla
    </div>
    <div id="idOut">&nbsp;</div>
     
    </body>
     
    </html>

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2006
    Messages : 29
    Points : 25
    Points
    25
    Par défaut
    Merci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 01/04/2008, 08h33
  2. Réponses: 6
    Dernier message: 01/07/2007, 18h15
  3. Comment savoir si la souris est sur un TChart ?
    Par marsupilami34 dans le forum Composants VCL
    Réponses: 1
    Dernier message: 30/09/2005, 23h16
  4. Réponses: 9
    Dernier message: 11/03/2003, 12h22
  5. Réponses: 4
    Dernier message: 10/09/2002, 17h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo