Bonsoir tous le monde,
Je stagné sur un problème très bizarre et je sollicite donc votre aide si vous permettez
J'ai codé vite fait un petit truc pour avoir une gallery d'images avec un fadeout donc modal window et tout le tralala, et j'ai donc un fichier gallery.php qui, une fois appelé par ajax, génère donc une gallery de photos en fonction d'un id.
Pour l'instant je génère rien, j'ai mis tout en statique pour tester, et voici du code:
index.php: Ici je vous montre uniquement la partie concernant la modal window donc:
gallery.php: Là donc c'est le fichier appelé par ajax:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <!-- Gallery--> <div id="boxes"> <div id="dialog" class="window"></div> <div id="mask"></div> </div> <!-- END Gallery-->
Et voici comment l'appel est effectué
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 <?php $aid = 0; if (isset ($_GET['id'])) $aid = $_GET['id']; ?> <script> $(document).ready(function(){ $("#gallery").SlideShowManager(); }); </script> <!--class="slideshow"--> <div id="gallery"> <div class="slide"> <img src="uploads/nexus.png"/> </div> <div class="slide"> <img src="uploads/nexus.png"/> </div> <div class="slide"> <img src="uploads/nexus.png"/> </div> <div class="slide"> <img src="uploads/nexus.png"/> </div> </div>
.gallery est une classe attribué à des liens donc pour déclencher l'affichager de la gallerie en question, mais le problème c'est que je clique une fois ca marche, je clique une deuxième ca fontionne, mais à partir de la troisième le javascript de gallery.php n'est plus exécuté (j'ai debogué avec alert()), en effet le :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 $('.gallery').click(function(e) { //Cancel the link behavior e.preventDefault(); //Get the screen height and width var maskHeight = $(document).height(); var maskWidth = $(window).width(); //Set heigth and width to mask to fill up the whole screen $('#mask').css({'width':maskWidth,'height':maskHeight}); //transition effect $('#mask').fadeIn(1000); $('#mask').fadeTo("slow",0.8); //Get the window height and width var winH = $(window).height(); var winW = $(window).width(); var aid = $(this).attr('href'); $.ajax({ url: "gallery.php?id=" + aid, cache: false, success: function(html){ $('#dialog').show(); $("#dialog").html(html); $("#dialog").css('top', winH/2-$("#dialog").height()/2); $("#dialog").css('left', winW/2-$("#dialog").width()/2); $("#dialog").fadeIn(2000); } }); });
N'est exécuté que deux fois, ce qui fait que je n'ai mon slideshow que 2 fois, pis après j'ai rien vu que jquery n'a pas été appelée....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <script> $(document).ready(function(){ $("#gallery").SlideShowManager(); }); </script>
Quelqu'un aurait une petite idée ?
Je ne pense pas que le code de SlideShowManager() soit nécessaire vu que ca bug uniquement au niveau de gallery.php.
D'avance merci les gars
Partager