Bonjour,
Je souhaiterais entourer un contenu appelé via ajax afin qu'il soit affiché dans une popin (pas une popup...), il faut donc que le contenu soit entouré par :
Le code est appelé dans une div :
Pour vous donner une idée je vous mets un exemple en ligne : TEST AJAX, édit : désormais OK
J'ai tout d'abord essayé ceci :
À première vu "ça fonctionne"... à ceci près que le contenu est entouré avec la div .ajax-window-popin dans laquelle il est appelé. Ce qui n'est pas bon bien sûr, car on ne peut plus réitérer l'appel par la suite : si l'on "ferme" le contenu avec un .hide() la fenêtre d'appel se "volatilise" par la même occasion.
Du coup j'ai essayé de cibler les enfants avec .children() :
Aucun effet...
J'avais essayé aussi ceci, mais ça ne fonctionne pas au premier appel, l'objet n'a pas le temps d'être mappé, il faut attendre un second click :
Merci pour votre analyse.
Modifié par Olivier C (01 Dec 2018 - 13:22)
Je souhaiterais entourer un contenu appelé via ajax afin qu'il soit affiché dans une popin (pas une popup...), il faut donc que le contenu soit entouré par :
'<section id="popin" class="popin">' + leContenu + '<a href="" id="cmd-popin"></a></section>'
Le code est appelé dans une div :
<div class="ajax-window-popin"></div>
Pour vous donner une idée je vous mets un exemple en ligne : TEST AJAX, édit : désormais OK
J'ai tout d'abord essayé ceci :
$('.ajax-popin').click(function() {
// Ouverture dans une fenêtre ajax globale pour toutes les popins
$('.ajax-window-popin').load('./Ajax/'+$(this).attr("id") + '.php');
$('.ajax-window-popin').wrapAll('<section id="popin" class="popin"/>')
.after('<a href="" id="cmd-popin"></a>');
return false;
});
À première vu "ça fonctionne"... à ceci près que le contenu est entouré avec la div .ajax-window-popin dans laquelle il est appelé. Ce qui n'est pas bon bien sûr, car on ne peut plus réitérer l'appel par la suite : si l'on "ferme" le contenu avec un .hide() la fenêtre d'appel se "volatilise" par la même occasion.
Du coup j'ai essayé de cibler les enfants avec .children() :
$('.ajax-popin').click(function() {
// Ouverture dans une fenêtre ajax globale pour toutes les popins
$('.ajax-window-popin').load('./Ajax/'+$(this).attr("id") + '.php');
$('.ajax-window-popin').children().wrapAll('<section id="popin" class="popin"/>')
.after('<a href="" id="cmd-popin"></a>');
return false;
});
Aucun effet...
J'avais essayé aussi ceci, mais ça ne fonctionne pas au premier appel, l'objet n'a pas le temps d'être mappé, il faut attendre un second click :
$('.ajax-popin').click(function() {
// Ouverture dans une fenêtre ajax globale pour toutes les popins
var obj = $('.ajax-window-popin').load('./Ajax/'+$(this).attr("id") + '.php');
$('.ajax-window-popin').prepend('<section id="popin" class="popin">' + obj + '<a href="" id="cmd-popin"></a></section>');
return false;
});
Merci pour votre analyse.
Modifié par Olivier C (01 Dec 2018 - 13:22)