[JQueryUI] Boite "Dialog" après un lien
Résolu
NirvX
Messages postés
11
Date d'inscription
Statut
Membre
Dernière intervention
-
NirvX Messages postés 11 Date d'inscription Statut Membre Dernière intervention -
NirvX Messages postés 11 Date d'inscription Statut Membre Dernière intervention -
Bonsoir,
Je débute avec la librairie JQueryUI, et même avec Javascript tout court.
En fait j'essaye juste de faire un petit truc sympa pour un site que je démarre.
Le but :
-Quand l'utilisateur clique sur un lien, une boite de dialogue s'affiche à coté de sa souris, lui permettant de sélectionner des objets..
(Et cela avec plusieurs liens sur la même page).
Le principal fonctionne, mais petit problème :
Quand on clique sur un lien au départ, les deux boites de dialogues s'ouvrent (alors qu'il en faut qu'une !)
Voici le code Javascript :
Le code HTML (ce qu'il faut) :
De même , il y a une div "gestion_boire"..
Alors le problème, c'est que quand je clique sur un lien à la premiere ouverture de page, les deux boites de dialogues s'ouvrent.
Mais ensuite, ça marche. C'est seulement au premier chargement de la page et des dialog que ça me les ouvre en double.
Peut-être avez-vous une solution ? (Ou même un code plus concis car je débute et j'essaye de chopper du code par-ci par-là, de le modifier etc.)
Merci d'avance !!
Je débute avec la librairie JQueryUI, et même avec Javascript tout court.
En fait j'essaye juste de faire un petit truc sympa pour un site que je démarre.
Le but :
-Quand l'utilisateur clique sur un lien, une boite de dialogue s'affiche à coté de sa souris, lui permettant de sélectionner des objets..
(Et cela avec plusieurs liens sur la même page).
Le principal fonctionne, mais petit problème :
Quand on clique sur un lien au départ, les deux boites de dialogues s'ouvrent (alors qu'il en faut qu'une !)
Voici le code Javascript :
<script type="text/javascript"> function onclick_page(event) // Lors d'un clic { var x = event.clientX; // Récupération position de la souris var y = event.clientY; $('#gestion_nourrir').dialog({ bgiframe: true, resizable: true, modal: false, position: [x,y], width: 350, title: "Gestion" }); $('#gestion_boire').dialog({ bgiframe: true, resizable: true, modal: false, position: [x,y], width: 350, title: "Gestion" }); $('#nourrir').click(function(){ // On ouvre la boite de dialogue correspondante $('#gestion_boire').dialog('close'); $('#gestion_nourrir').dialog('open'); return false; }); $('#boire').click(function(){ // On ouvre la boite de dialogue correspondante $('#gestion_nourrir').dialog('close'); $('#gestion_boire').dialog('open'); return false; }); } </script>
Le code HTML (ce qu'il faut) :
<a href='#' id='nourrir' onclick="onclick_page(event);">Nourrir</a></p> <a href='#' id='boire' onclick="onclick_page(event);">Donner à boire</a></p> <div id="gestion_nourrir" style="display:none; font-size:0.7em;"> <p> <?php $aliments = array(); $aliments = get_aliments(); .... ?></p> </div>
De même , il y a une div "gestion_boire"..
Alors le problème, c'est que quand je clique sur un lien à la premiere ouverture de page, les deux boites de dialogues s'ouvrent.
Mais ensuite, ça marche. C'est seulement au premier chargement de la page et des dialog que ça me les ouvre en double.
Peut-être avez-vous une solution ? (Ou même un code plus concis car je débute et j'essaye de chopper du code par-ci par-là, de le modifier etc.)
Merci d'avance !!
A voir également:
- [JQueryUI] Boite "Dialog" après un lien
- Créer un lien pour partager des photos - Guide
- Lien url - Guide
- Boite gmail saturée - Guide
- Boite gmail bloquée - Guide
- Se connecter à ma boite hotmail - Guide
1 réponse
J'ai trouvé une solution beaucoup plus simple en réfléchissant.
Pour chaque lien, j'ai fait une fonction différente en javascript.
Exemple :
<a href='#' id='nourrir' onclick="onclick_nourrir(event);">Nourrir</a></p>
<a href='#' id='boire' onclick="onclick_boire(event);">Donner à boire</a></p>
Je fais une fonction "onclick_nourrir" qui ouvre une boite de dialogue directement :
function onclick_page(event) // Lors d'un clic
{
var x = event.clientX; // Récupération position de la souris
var y = event.clientY;
$('#gestion_nourrir').dialog({
bgiframe: true,
resizable: true,
modal: false,
position: [x,y],
width: 350,
title: "Gestion"
});
}
Et de même pour boire.
En fait j'ai résolu mon problème du coup !
Merci quand meme lol !
A bientot
Pour chaque lien, j'ai fait une fonction différente en javascript.
Exemple :
<a href='#' id='nourrir' onclick="onclick_nourrir(event);">Nourrir</a></p>
<a href='#' id='boire' onclick="onclick_boire(event);">Donner à boire</a></p>
Je fais une fonction "onclick_nourrir" qui ouvre une boite de dialogue directement :
function onclick_page(event) // Lors d'un clic
{
var x = event.clientX; // Récupération position de la souris
var y = event.clientY;
$('#gestion_nourrir').dialog({
bgiframe: true,
resizable: true,
modal: false,
position: [x,y],
width: 350,
title: "Gestion"
});
}
Et de même pour boire.
En fait j'ai résolu mon problème du coup !
Merci quand meme lol !
A bientot