Bonjour à tous,
J'ai un fichier php qui génère automatiquement des div,
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);
?> |
qui sont cachés avec le script suivant :
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 cette page j'utilise un carrousel, qui au click sur les images devrait faire apparaître les fameux div cachés.
Dans le fichier carrousel.js je définis :
onClick:function(){document.location=this.url;},
et dans le fichier php, je passe le paramètre url comme suit dans la balise "longdesc" :
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> |
Mais le div caché n'apparaît pas.
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" :
<img src="../images/img_visuels/<?php echo $TABimage[$i] ?>.png" onclick="javascript:MM_showHideLayers('recherche_<?php echo $TABlien[$i] ?>','','show')" alt="" />
Mais sans plus de succès...[/edit]
Partager