Bonjour à tous,
J'ai un fichier php qui génère automatiquement des div,
qui sont cachés avec le script suivant :Code:
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 <?php mysql_select_db($database_bdd, $bdd); $query_cadeaux = "SELECT * FROM cadeaux WHERE ligne='1' ORDER BY tri"; $cadeaux = mysql_query($query_cadeaux, $bdd) or die(mysql_error()); $row_cadeaux = mysql_fetch_assoc($cadeaux); $totalRows_cadeaux = mysql_num_rows($cadeaux); $i=1; do {?> #recherche_<?php echo $row_cadeaux['id'] ?> { position:absolute; left:0px; top:-240px; width:678px; height:240px; z-index:1; visibility: hidden; background: url(../img/fond-div-carrousel.png); } <?php $TABlien[$i]=$row_cadeaux['id']; $TABimage[$i]=$row_cadeaux['visuel']; $i++; } while ($row_cadeaux = mysql_fetch_assoc($cadeaux)); mysql_free_result($cadeaux); ?>
Dans cette page j'utilise un carrousel, qui au click sur les images devrait faire apparaître les fameux div cachés.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 <script type="text/JavaScript"> <!-- function MM_findObj(n, d) { //v4.01 var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n]; for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); if(!x && d.getElementById) x=d.getElementById(n); return x; } function MM_showHideLayers() { //v6.0 var i,p,v,obj,args=MM_showHideLayers.arguments; for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2]; if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; } obj.visibility=v; } } //--> </script>
Dans le fichier carrousel.js je définis :
et dans le fichier php, je passe le paramètre url comme suit dans la balise "longdesc" :Code:onClick:function(){document.location=this.url;},
Mais le div caché n'apparaît pas.Code:
1
2
3
4
5
6
7 <div id="imageFlowSolutionCourrier" class="imageflow"><?php for($i=1;$i<=count($TABimage);$i++) {?> <img src="../images/img_visuels/<?php echo $TABimage[$i] ?>.png" longdesc="javascript:MM_showHideLayers('recherche_<?php echo $TABlien[$i] ?>','','show')" alt="" /><?php }?> </div>
Si je pose un alert sur this.url dans le fichier js j'ai la petite popup qui apparait bien avec le lien dedans : javascript:MM_showHideLayers('recherche_34','','show')
Si quelqu'un pouvait me donner une piste car je n'arrive pas à voir si le problème vient du fichier php ou bien du js. :?
Bonne journée.
[edit]J'ai aussi essayé de désactiver l'appel depuis le fichie js et du coup de mettre un onclick directement dans la balise "img" :
Mais sans plus de succès...[/edit]Code:<img src="../images/img_visuels/<?php echo $TABimage[$i] ?>.png" onclick="javascript:MM_showHideLayers('recherche_<?php echo $TABlien[$i] ?>','','show')" alt="" />