11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,
Je vais essayer de vous faire comprendre mon problème mais c'est pas gagné Smiley smile .
Tout d'abord j'aimerai afficher un calendrier (générer en Javascript) pile à l'endroit où l'utilisateur a cliqué. Mon problème venait de la récupération des positions X,Y sous Firefox et maintenant que j'y suis arrivée mon problème c'est le passage de données. Je met mon code pour que l'on comprenne mieux.
HTML :
<img src="X" onClick="fShowTable(var1,var2);" />

Javascript :

function register_position () {
	document.onclick = position;
}

function position (evt) {
	if(!evt) evt = window.event;    

	x = evt.clientX;
        y = evt.clientY
	
}

function fShowTable(var1,var2) {

  if (navigator.appName=="Microsoft Internet Explorer") {
  	x = event.x + document.body.scrollLeft;
  	y = event.y + document.body.scrollTop;
  }
  else {
  	if(!evt) evt = window.event;
  
        //J'arrive pas à récupérer les valeurs x et y j'ai essayé pleins de trucs         
          mais ca marche pas [bawling]
  }
  .......
}
 


Voilà, je me prend la tête avec ce petit truc depuis un moment alors si quelqu'un peut m'aider c'est pas de refus.
PS : le code n'ai pas de moi à la base moi je dois le debuger Smiley fache
Modifié par Vince1415 (11 Dec 2006 - 10:11)
Bonjour,
Et en essayant ceci :

var x=0;
var y=0;
document.onclick = position;

function position (evt) {
  if (navigator.appName=="Microsoft Internet Explorer") {
	 	x = event.x + document.body.scrollLeft;
  	y = event.y + document.body.scrollTop;
  }
  else {
	if(!evt) evt = window.event;    
	x = evt.clientX;
  y = evt.clientY;
}
fShowTable();
}
function fShowTable() {
alert('x= '+x+' ,y= '+y);
}
à chaque 'clic', x et y sont réactualisés. x et y sont définis au niveau global afin d'être accessibles dans les fonctions.
Cela répond-il à ton problème ?
bonjour à tous

Il est conseillé d'utiliser les gestionnaire d'évènement en tatn que propriétés
mais pour faire 'simple' : fichier htlm


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
		<title>Untitled Document</title>
		<script type="text/javascript" src="new_file.js"></script>
	</head>
	<body>
		<img src="k-zone.jpg" onclick="untel(event)" />
	</body>
</html>


fichier js :

function untel (objet_event) {
	// objet event est l'objet event
	// quels sont les proprietes de l'objet mis en parametre
	// boucle dans les proprietes
	/*var noms = "";
	for (var nom in objet_event) noms += nom +"\n";
	alert(noms);*/
	// faire les test avec comme paramètres dans l'appel de fonction 'this' et 'event'
	// voir les résultat obtenus ...
	
	//cas de l'appel de fonction avec 'evvent ' en paramètres.
	var coordX = objet_event.clientX;
	var coordY = objet_event.clientY;
	
	alert(coordX + " " + coordY);
	
}


testé avec FF Opera et IE6 ..
j'ai laissé en commentaire une boucle dont je me sert souvent pour voir les propriétés d'objets retournés .. et ainsi ne pas appelé des propriétés "n'existatnt pas"

pour test

++