Positonnement d'une DIV

Fermé
polo - 11 févr. 2009 à 13:53
Passarinho44 Messages postés 963 Date d'inscription mercredi 28 mai 2008 Statut Contributeur Dernière intervention 13 juin 2012 - 11 févr. 2009 à 16:20
Bonjour,
j'aimerais réaliser un script javascript permettant de faire apparaître une div suite au clic sur un bouton (en faisant apparaitre cette div a l'emplacement du bouton). J'ai bien la div qui apparait en surimpression comme je veux mais impossible de la placer !
Si quelqu'un a une idée :)

Le script

function display(event){
document.getElementById('infos').style.position = "absolute";
document.getElementById('infos').style.position.top = event.clientX;
document.getElementById('infos').style.position.left = event.clientY;
document.getElementById('infos').style.display = "block";
}

le bouton appelant ce script se situe dans un tableau (lui même dans une DIV) :
<input id='btn' type='button' value='A' onClick=\"javascript:display;\"/>
D'ailleurs ce code ne fonctionne pas directement, je suis obligé de rajouter :
<script> document.getElementById('btn').onclick=display; </script>*
et c'est assez moche!
A voir également:

3 réponses

Passarinho44 Messages postés 963 Date d'inscription mercredi 28 mai 2008 Statut Contributeur Dernière intervention 13 juin 2012 132
11 févr. 2009 à 14:09
Ta fonction s'appelle :
display(event)

Donc quand tu cliques sur le bouton, il faut que tu l'appelles avec :
onclick=\"display(event);\"

Ensuite pour placer ta div, ton script lui donne des propriétés, il ne la crée pas.
Donc c'est que dans ton code HTML elle est déjà placée.
Je ne comprends pas alors pourquoi elle ne place pas où tu veux puisque dans le code HTML c'est toi qui l'a placée non? ...
0
Merci pour le 'event' que j'ai oublié de donner en paramètre.
Pour la position de la DIV, c'est que cette position peut changer : je génères un tableau depuis la bdd avec des boutons pour afficher des DIV (qui afficheront une zone d'info).
0
Passarinho44 Messages postés 963 Date d'inscription mercredi 28 mai 2008 Statut Contributeur Dernière intervention 13 juin 2012 132
11 févr. 2009 à 16:20
Et bien quand tu génères ton tableau tu génères aussi la div à l'intérieur non?
Quand tu la génères tu lui attribut un id dynamique genre id=\"infos_" . $i . "\"
Dans le bouton correspondant tu met le même id en paramètre de la fonction à lancer :
<input id='btn' type='button' value='A' onClick=\"javascript:display(event, 'infos_" . $i . "';\"/>
(Tu n'oublies pas d'incrémenter ton $i à chaque fois .. )

Et après dans ta fonction javascript tu passes en paramètres l'id de la div concernée : display(event, id) { ...

Et tu fais un
document.getElementById(id). ...
pour le récupérer
0