Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Contribuez
Contribuez Proposez vos articles, cours, tutoriels, questions/réponses pour les FAQ, sources et autres ressources pour la rubrique Web ainsi que ses sous-rubriques.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/04/2007, 17h45   #1
Expert Confirmé
 
Avatar de FremyCompany
 
Étudiant
Inscription : février 2006
Messages : 2 532
Détails du profil
Informations personnelles :
Âge : 20

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2006
Messages : 2 532
Points : 2 903
Points : 2 903
Envoyer un message via MSN à FremyCompany
Par défaut [FAQ] Position de la souris

Code :
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
FremyCompany est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/04/2007, 01h32   #2
S2S
Membre éclairé
 
Avatar de S2S
 
Homme yannick
Développeur informatique
Inscription : février 2006
Messages : 336
Détails du profil
Informations personnelles :
Nom : Homme yannick
Âge : 36
Localisation : France, Aube (Champagne Ardenne)

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

Informations forums :
Inscription : février 2006
Messages : 336
Points : 392
Points : 392
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.
S2S est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/04/2007, 14h18   #3
Expert Confirmé
 
Avatar de FremyCompany
 
Étudiant
Inscription : février 2006
Messages : 2 532
Détails du profil
Informations personnelles :
Âge : 20

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2006
Messages : 2 532
Points : 2 903
Points : 2 903
Envoyer un message via MSN à FremyCompany
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
FremyCompany est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/04/2007, 14h20   #4
Expert Confirmé
 
Avatar de FremyCompany
 
Étudiant
Inscription : février 2006
Messages : 2 532
Détails du profil
Informations personnelles :
Âge : 20

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2006
Messages : 2 532
Points : 2 903
Points : 2 903
Envoyer un message via MSN à FremyCompany
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
FremyCompany est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2007, 12h43   #5
Membre Expert
 
Avatar de Djakisback
 
Inscription : février 2005
Messages : 1 797
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 1 797
Points : 1 688
Points : 1 688
Salut,
c'est censé être compatible Netscape > à combien ?
Djakisback est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/04/2007, 21h55   #6
Expert Confirmé
 
Avatar de FremyCompany
 
Étudiant
Inscription : février 2006
Messages : 2 532
Détails du profil
Informations personnelles :
Âge : 20

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2006
Messages : 2 532
Points : 2 903
Points : 2 903
Envoyer un message via MSN à FremyCompany
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
FremyCompany est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2007, 15h39   #7
Membre Expert
 
Avatar de Djakisback
 
Inscription : février 2005
Messages : 1 797
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 1 797
Points : 1 688
Points : 1 688
Bin j'ai tenté sous le 4.7 et ca ne fonctionne pas.
Djakisback est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2007, 16h34   #8
Expert Confirmé
 
Avatar de FremyCompany
 
Étudiant
Inscription : février 2006
Messages : 2 532
Détails du profil
Informations personnelles :
Âge : 20

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2006
Messages : 2 532
Points : 2 903
Points : 2 903
Envoyer un message via MSN à FremyCompany
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
FremyCompany est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2007, 16h35   #9
Expert Confirmé
 
Avatar de FremyCompany
 
Étudiant
Inscription : février 2006
Messages : 2 532
Détails du profil
Informations personnelles :
Âge : 20

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2006
Messages : 2 532
Points : 2 903
Points : 2 903
Envoyer un message via MSN à FremyCompany
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
FremyCompany est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2007, 14h05   #10
Membre Expert
 
Avatar de Djakisback
 
Inscription : février 2005
Messages : 1 797
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 1 797
Points : 1 688
Points : 1 688
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 :
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 ^^
Djakisback est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2007, 15h16   #11
Expert Confirmé
 
Avatar de FremyCompany
 
Étudiant
Inscription : février 2006
Messages : 2 532
Détails du profil
Informations personnelles :
Âge : 20

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2006
Messages : 2 532
Points : 2 903
Points : 2 903
Envoyer un message via MSN à FremyCompany
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
FremyCompany est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2007, 15h35   #12
Membre Expert
 
Avatar de Djakisback
 
Inscription : février 2005
Messages : 1 797
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 1 797
Points : 1 688
Points : 1 688
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
Djakisback est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2007, 13h21   #13
Membre du Club
 
Inscription : janvier 2005
Messages : 151
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 151
Points : 40
Points : 40
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 :
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 ?
vodnok est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2007, 14h33   #14
Expert Confirmé
 
Avatar de FremyCompany
 
Étudiant
Inscription : février 2006
Messages : 2 532
Détails du profil
Informations personnelles :
Âge : 20

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2006
Messages : 2 532
Points : 2 903
Points : 2 903
Envoyer un message via MSN à FremyCompany
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
FremyCompany est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2007, 14h54   #15
Membre du Club
 
Inscription : janvier 2005
Messages : 151
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 151
Points : 40
Points : 40
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

Citation:
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 ?
vodnok est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2007, 15h23   #16
Membre Expert
 
Avatar de Djakisback
 
Inscription : février 2005
Messages : 1 797
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 1 797
Points : 1 688
Points : 1 688
Comme ca :

Code :
1
2
coords = getMouseCoords();
alert(coords.x);
Djakisback est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2007, 15h28   #17
Membre du Club
 
Inscription : janvier 2005
Messages : 151
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 151
Points : 40
Points : 40
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
vodnok est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2007, 23h36   #18
Membre du Club
 
Inscription : janvier 2005
Messages : 151
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 151
Points : 40
Points : 40
Bon je fais ça :

Code :
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 :
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
vodnok est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2007, 08h50   #19
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 119
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

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

Informations forums :
Inscription : mars 2002
Messages : 30 119
Points : 45 278
Points : 45 278
et tu as un lien vers ce fichier externe ?
__________________
Ma page 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


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2007, 09h14   #20
Membre du Club
 
Inscription : janvier 2005
Messages : 151
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 151
Points : 40
Points : 40
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.
vodnok est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h42.


 
 
 
 
Partenaires

Hébergement Web