Voila tous est dans le titre, j'aimerai savoir comment on fait cela
Version imprimable
Voila tous est dans le titre, j'aimerai savoir comment on fait cela
Code:onclick ="alert (this.id)"
le truc c'est que les cellules n'ont pas d'id.
en fait il y a qu'une cellule où à l'interieur il y a un background d'une cellule qui ce repete
ben colle leur un id ...
à quelles fins souhaites tu récupérer la cellule ...
mets une variable globale et mets le this dedans ...
nn je ne peux pas leur mettre d'id car c'est une image répété.
J'ai choisi ainsi pour ne pas leur mettre d'id car ie merde avec des gros tableau
mais tu veux en faire quoi de cette récupération de cellule ?
c'est pour l'utiliser ou ?
Salut,
Si je pense que dans ton cas, il te faut mesurer la position de la souris
dans ta cellule principale et diviser x par la largeur* et y par la hauteur*
pour savoir dans quelle case de ta grille tu te trouves.
* largeur et hauteur en pixels d'une case de l'image de fond
J'avais un problème similaire dont voici un bout du code (testé uniquement
sur FireFox)
Met un id sur ta cellule unique et dans une fonction d'initialisationCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 function getElementPosition(elemID) { var offsetTrail = document.getElementById(elemID); var offsetLeft = 0; var offsetTop = 0; while (offsetTrail) { offsetLeft += offsetTrail.offsetLeft; offsetTop += offsetTrail.offsetTop; offsetTrail = offsetTrail.offsetParent; } if (navigator.userAgent.indexOf("Mac") != -1 && typeof document.body.leftMargin != "undefined") { offsetLeft += document.body.leftMargin; offsetTop += document.body.topMargin; } return {left:offsetLeft, top:offsetTop}; } function handleMouseDown(evt) { var pos = getElementPosition('id_de_ta_cellule'); var px = Math.floor(evt.pageX - pos.left / largeur); var py = Math.floor(evt.pageY - pos.top); alert("Cellule " + x + ", " + y); }
écrit
document.getElementById('id_de_ta_cellule').onmousedown = handleMouseDown;
Pour IE... je pense qu'il y a des choses qui change, entre autre il faut
récupérer l'event par window.event (sauf erreur)
ha parcequ'en plus ce ne sont pas de vraies cellules mais des images et en background pour courronner le tout ...
pourquoi faire simple ???
oui position de souris
sinon mapper dynamiquement ...
je fais ainsi car ie commence a merder avec des tableau qui font plus de 2000 cellules
il n'y a pas des zéros en trop 8O 8O ???Citation:
Envoyé par eyolas
Sinon, comme le suggère Spacefrog, utilise les zones réactives (balise map en HTML)