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

Contribuez Discussion :

[FAQ] Position de la souris


Sujet :

Contribuez

  1. #1
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut [FAQ] Position de la souris
    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
    // Variables de la gestion de l'evenement
    var Mouse = {"x":0,"y":0};
     
    // Demande de gestion de l'evenement à NetScape
    if(navigator.appName.substring(0,3) == "Net") {
        document.captureEvents(Event.MOUSEMOVE);
    }
     
    // Gestion de l'evenement
    var OnMouseMoveEventHandler=function() {}
    var OnMouseMove = function (e)
    {
       Mouse.x = (navigator.appName.substring(0,3) == "Net") ? e.pageX : event.x+document.body.scrollLeft;
       Mouse.y = (navigator.appName.substring(0,3) == "Net") ? e.pageY : event.y+document.body.scrollTop;
       if (Mouse.x < 0) {Mouse.x=0;}
       if (Mouse.y < 0) {Mouse.y=0;}
       OnMouseMoveEventHandler(e)
    }
     
    try {
       document.attachEvent("onmousemove", OnMouseMove, true);
    } catch (ex) {
       document.addEventListener("mousemove", OnMouseMove, true);
    }
    Utilisation (n'imorte ou sur la page à n'importe quel momment) :
    Fremy
    Pour vos développements Web et une navigation agréable, le tout gratuit :
    1) IE 8 + IE7Pro (Si vous ne connaissez pas IE7Pro, essayez !)
    2) FF 3 + Web Developper Toolbar + AdBlockPlus + FireBug + GreaseMonkey

  2. #2
    S2S
    S2S est déconnecté
    Membre averti Avatar de S2S
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2006
    Messages : 336
    Points : 403
    Points
    403
    Par défaut
    lu,

    Citation Envoyé par FremyCompany
    [CODE]
    Utilisation (n'imorte ou sur la page à n'importe quel momment) :
    Mouse.x / Mouse.y

    mais je peut me trompé, je debute.
    « Plus t’as de pognon, moins t’as de principes. L’oseille c’est la gangrène de l’âme. »
    Des pissenlits par la racine.

    Qui croit tout savoir n'en saura jamais plus...

  3. #3
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    Ah oui, pardon
    C'est bien :
    -Mouse.x ==> Position X de la souris
    -Mouse.y ==> Position Y de la souris
    Fremy
    Pour vos développements Web et une navigation agréable, le tout gratuit :
    1) IE 8 + IE7Pro (Si vous ne connaissez pas IE7Pro, essayez !)
    2) FF 3 + Web Developper Toolbar + AdBlockPlus + FireBug + GreaseMonkey

  4. #4
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    Au fait, pour avoir la position relative (càd dans le cadre visible de la page), il faut faire comme ceci :

    Mouse.x - document.body.scrollLeft;
    Mouse.y - document.body.scrollTop;
    Fremy
    Pour vos développements Web et une navigation agréable, le tout gratuit :
    1) IE 8 + IE7Pro (Si vous ne connaissez pas IE7Pro, essayez !)
    2) FF 3 + Web Developper Toolbar + AdBlockPlus + FireBug + GreaseMonkey

  5. #5
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Points : 2 273
    Points
    2 273
    Par défaut
    Salut,
    c'est censé être compatible Netscape > à combien ?
    Vive les roues en pierre

  6. #6
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    Citation Envoyé par Djakisback
    Salut,
    c'est censé être compatible Netscape > à combien ?
    Normalement toutes versions, vu que le code prévoit l'ancien netscape et gère FF (nouveau moteur de netscape)... Pourquoi, tu rencontres des problèmes ?
    Fremy
    Pour vos développements Web et une navigation agréable, le tout gratuit :
    1) IE 8 + IE7Pro (Si vous ne connaissez pas IE7Pro, essayez !)
    2) FF 3 + Web Developper Toolbar + AdBlockPlus + FireBug + GreaseMonkey

  7. #7
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Points : 2 273
    Points
    2 273
    Par défaut
    Bin j'ai tenté sous le 4.7 et ca ne fonctionne pas.
    Vive les roues en pierre

  8. #8
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    Quelle est l'erreur ?
    Ton script marche sur IE ?
    Fremy
    Pour vos développements Web et une navigation agréable, le tout gratuit :
    1) IE 8 + IE7Pro (Si vous ne connaissez pas IE7Pro, essayez !)
    2) FF 3 + Web Developper Toolbar + AdBlockPlus + FireBug + GreaseMonkey

  9. #9
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    D'un autre coté, si mon script ne fonctionne pas NetScape 4.7, c'est pas vraiment grave, personne ne l'utilise...

    Ce serait plus ennyeux si il ne passe pas Opera 7 / FF 1.5 / IE 6
    Fremy
    Pour vos développements Web et une navigation agréable, le tout gratuit :
    1) IE 8 + IE7Pro (Si vous ne connaissez pas IE7Pro, essayez !)
    2) FF 3 + Web Developper Toolbar + AdBlockPlus + FireBug + GreaseMonkey

  10. #10
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Points : 2 273
    Points
    2 273
    Par défaut
    C'est juste que je me demandais à quoi servait le captureEvent et le OnMouseMoveEventHandler si ca fonctionne pas sous le vieu Netscape
    Mais je ne sais pas à partir duquel ils ont changé de moteur. Personnellement j'utilises ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    window.getMouseCoords = function (evnt){
    	if(window.event)	{
    		evnt = window.event;
    	}
    	// Gecko
    	if(evnt.pageX || evnt.pageY)	{
    		return {x:evnt.pageX, y:evnt.pageY};
    	}
    	// IE
    	else if(evnt.clientX || evnt.clientY)	{
    		return {x:evnt.clientX + document.body.scrollLeft - document.body.clientLeft, y:evnt.clientY + document.body.scrollTop - document.body.clientTop};
    	}
    }
    Qui ne fonctionne pas non plus sous Netscape ^^
    Vive les roues en pierre

  11. #11
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    Ben en fait, je t'avoue que j'ai jamais utilisé NetScape 4.7, quand j'ai fait mon script, j'ai mis le capture event pour netscape parceque j'avais déjà vu qu'il fallait le faire, mais sans plus de conviction que ca
    --------------------------------------
    L'avantage de ma fonction est qu'il ne faut pas disposer de l'objet event (setTimeout, ...) et qu'il ne faut pas faire d'appel au dernier moment (Mouse.x/.y étant juste des variables mises à jours à chaque déplacement de souris)
    Fremy
    Pour vos développements Web et une navigation agréable, le tout gratuit :
    1) IE 8 + IE7Pro (Si vous ne connaissez pas IE7Pro, essayez !)
    2) FF 3 + Web Developper Toolbar + AdBlockPlus + FireBug + GreaseMonkey

  12. #12
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Points : 2 273
    Points
    2 273
    Par défaut
    Citation Envoyé par FremyCompany
    L'avantage de ma fonction est qu'il ne faut pas disposer de l'objet event (setTimeout, ...) et qu'il ne faut pas faire d'appel au dernier moment (Mouse.x/.y étant juste des variables mises à jours à chaque déplacement de souris)
    Effectivement
    Vive les roues en pierre

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 152
    Points : 80
    Points
    80
    Par défaut
    Citation Envoyé par Djakisback
    C'est juste que je me demandais à quoi servait le captureEvent et le OnMouseMoveEventHandler si ca fonctionne pas sous le vieu Netscape
    Mais je ne sais pas à partir duquel ils ont changé de moteur. Personnellement j'utilises ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    window.getMouseCoords = function (evnt){
    	if(window.event)	{
    		evnt = window.event;
    	}
    	// Gecko
    	if(evnt.pageX || evnt.pageY)	{
    		return {x:evnt.pageX, y:evnt.pageY};
    	}
    	// IE
    	else if(evnt.clientX || evnt.clientY)	{
    		return {x:evnt.clientX + document.body.scrollLeft - document.body.clientLeft, y:evnt.clientY + document.body.scrollTop - document.body.clientTop};
    	}
    }
    Qui ne fonctionne pas non plus sous Netscape ^^

    Salut,

    Je ne suis pas habitué à ce type de définition window.getMouseCoords = function (evnt)

    Comment puis-je accéder à x et y ? En faisant window.getMouseCoords.x ?

  14. #14
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    Pourquoi ne pas utilser mon script, tu le mets dans le HEAD et pis quand tu veux avoir les coordonnées de la souris tu fais "Mouse.x" ou "Mouse.y"
    Fremy
    Pour vos développements Web et une navigation agréable, le tout gratuit :
    1) IE 8 + IE7Pro (Si vous ne connaissez pas IE7Pro, essayez !)
    2) FF 3 + Web Developper Toolbar + AdBlockPlus + FireBug + GreaseMonkey

  15. #15
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 152
    Points : 80
    Points
    80
    Par défaut
    Disons que le fait d'executer du code à chaque déplacement de la souris ne me semble pas très performant. A moins que je me trompe sur comment fonctionne ta fonction mais Pourquoi calculer quelque chose quand on en a pas besoin ?

    Il faut calculer la position du curseur quand j'en ai besoin !

    Enfin cela ne répond pas à ma question

    Je ne suis pas habitué à ce type de définition window.getMouseCoords = function (evnt)

    Comment puis-je accéder à x et y ? En faisant window.getMouseCoords.x ?

  16. #16
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Points : 2 273
    Points
    2 273
    Par défaut
    Comme ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    coords = getMouseCoords();
    alert(coords.x);
    Vive les roues en pierre

  17. #17
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 152
    Points : 80
    Points
    80
    Par défaut
    Hum je dois avoir mal recopier la fonction car cela ne fonctionne pas. (oui pour une raison un peu trop longue à expliquer je ne peux faire de copier coller ) Je vais vérifié cela ce soir.

    Merci

  18. #18
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 152
    Points : 80
    Points
    80
    Par défaut
    Bon je fais ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    window.getMouseCoords = function (evnt){
    	if(window.event)	{
    		evnt = window.event;
    	}
    	// Gecko
    	if(evnt.pageX || evnt.pageY)	{
    		return {x:evnt.pageX, y:evnt.pageY};
    	}
    	// IE
    	else if(evnt.clientX || evnt.clientY)	{
    		return {x:evnt.clientX + document.body.scrollLeft - document.body.clientLeft, y:evnt.clientY + document.body.scrollTop - document.body.clientTop};
    	}
    }

    Et ça dans une autre fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    coords = getMouseCoords();
    alert(coords.x);
    J'ai une erreur comme quoi pageX à la valeur null ou n'est pas un objet. Sous IE et sous FF ça marche pas non plus. La fonction est définie dans un fichier .js

  19. #19
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 638
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 638
    Points : 66 668
    Points
    66 668
    Billets dans le blog
    1
    Par défaut
    et tu as un lien vers ce fichier externe ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  20. #20
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 152
    Points : 80
    Points
    80
    Par défaut
    Oui je suis pas noobs à ce point et s'il me met une erreur dans le code c'est qu'il sait lire ce code

    Je suis entrain de me faire au prototype.js et je crois qu'il y a aussi des fonctions d'accès à la position du curseur. Mais je ne désèspère pas faire fonctionner la fct plus haut.

Discussions similaires

  1. [C#]Drag & Drop, problème de position de la souris
    Par debug dans le forum Windows Forms
    Réponses: 2
    Dernier message: 07/10/2005, 13h06
  2. Position de la souris
    Par abcd dans le forum Langage
    Réponses: 10
    Dernier message: 31/03/2005, 18h09
  3. [TP][FAQ]Curseur de la souris
    Par nounetmasque dans le forum Turbo Pascal
    Réponses: 5
    Dernier message: 29/06/2003, 23h22
  4. Déterminer la position de la souris
    Par genteur slayer dans le forum Composants VCL
    Réponses: 6
    Dernier message: 16/06/2003, 11h01
  5. FOnction api specifiant la position de la souris
    Par florent dans le forum C++Builder
    Réponses: 4
    Dernier message: 15/05/2002, 20h07

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