Probleme lancement fonction js

Résolu/Fermé
Francois47 Messages postés 107 Date d'inscription vendredi 28 décembre 2007 Statut Membre Dernière intervention 9 septembre 2009 - 3 juil. 2008 à 01:07
Fanfan92 Messages postés 10 Date d'inscription mercredi 2 juillet 2008 Statut Membre Dernière intervention 31 octobre 2008 - 3 juil. 2008 à 12:24
Bonjour,
Je fais appel à vous car là je n'en peux plus ^^ impossible de trouver mon erreur.
Voila j'ai une galerie d'images avec des miniatures de la forme

Code : PHP

echo '<li onClick="show_img('.$image_id2.')">....Image....</li>';

La variable qui s'incrémente au fur et à mesure d'une boucle

Code : PHP

while ($donnees = mysql_fetch_array($reponse_mysql))

Au final on obtient donc des miniatures de la forme :

Code : PHP

<li onClick="show_img1">....Image....</li>
<li onClick="show_img2">....Image....</li>
<li onClick="show_img3">....Image....</li>
................etc...

Ensuite en fonction de chaque images je souhaite afficher un lien et un nom de catégorie. J'utilise donc la même boucle et les parties lien et nom de catégorie ont pour code :

Code : PHP

echo '<div id="lien_img_'.$image_id3.'" style="display:none">....</div>';

Code : PHP

echo '<div id="lien_img__'.$image_id4.'" style="display:none">...</div>';

Même principe donc qu'au dessus. J'ai testé tout sa et cela fonction mais mon problème viens du javascript car je veut afficher lors d'un clic sur une miniature le lien et la catégorie correspondante grâce à la fonction onClick="show_img('.$image_id2.')".

Code javascript :

function show_img(id)
{
for (var i = 1; i <= 100; i++)
{
if (i == id)
{
document.getElementById('lien_img' + i).style.display = 'block';
}
else
{
document.getElementById('lien_img' + i).style.display = 'none';
}
}
for (var i2 = 1; i2 <= 100; i2++)
{
if (i2 == id)
{
document.getElementById('lien_img_' + i2).style.display = 'block';
}
else
{
document.getElementById('lien_img_' + i2).style.display = 'none';
}
}
for (var i3 = 1; i3 <= 100; i3++)
{
if (i3 == id)
{
document.getElementById('lien_img__' + i3).style.display = 'block';
}
else
{
document.getElementById('lien_img__' + i3).style.display = 'none';
}
}
}

Et alors la j'ai fait tous les test possible et inimaginable et sa ne veut pas marcher ! J'ai essayé de garder que la partie :

Code : JavaScript

function show_img(id)
{
for (var i = 1; i <= 100; i++)
{
if (i == id)
{
document.getElementById('lien_img' + i).style.display = 'block';
}
else
{
document.getElementById('lien_img' + i).style.display = 'none';
}
}
}

Et la bizarrement cela fonctionne !
Quelqu'un aurait il une idée ^^

Merci à tous
A voir également:

1 réponse

Fanfan92 Messages postés 10 Date d'inscription mercredi 2 juillet 2008 Statut Membre Dernière intervention 31 octobre 2008
3 juil. 2008 à 02:07
Salut,

Je comprends pas bien pourquoi dans ta fonction show_img(id), tu fais une boucle sur i, une sur i2 et une sur i3.
Tu veux afficher 3 fois ton lien pour chaque image?
0
Francois47 Messages postés 107 Date d'inscription vendredi 28 décembre 2007 Statut Membre Dernière intervention 9 septembre 2009 6
3 juil. 2008 à 02:19
Je comprend ce que tu veux dire mais en fait sa n'a aucun intérêt c'était juste pour essayer différemment !
0
Fanfan92 Messages postés 10 Date d'inscription mercredi 2 juillet 2008 Statut Membre Dernière intervention 31 octobre 2008 > Francois47 Messages postés 107 Date d'inscription vendredi 28 décembre 2007 Statut Membre Dernière intervention 9 septembre 2009
3 juil. 2008 à 02:39
Peux tu m'ecrire la ligne (et les qques lignes autour) ou tu appelles ton onClick="show_img('.$image_id2.')" stp?
0
Francois47 Messages postés 107 Date d'inscription vendredi 28 décembre 2007 Statut Membre Dernière intervention 9 septembre 2009 6 > Fanfan92 Messages postés 10 Date d'inscription mercredi 2 juillet 2008 Statut Membre Dernière intervention 31 octobre 2008
3 juil. 2008 à 10:03
$image_id2 = 1;
$reponse_mysql = mysql_query("SELECT * FROM images_temp ORDER BY id LIMIT $premierMessageAafficher , $nombreDeMessagesParPage ");
while ($donnees = mysql_fetch_array($reponse_mysql))
{

echo '<div id="lien_img'.$image_id2.'" style="display:none"><span class="img_lien">1. L\'utilisateur '.$creator.' l\'auteur de l\'image</span></div>';
$image_id2++;

}
0
Fanfan92 Messages postés 10 Date d'inscription mercredi 2 juillet 2008 Statut Membre Dernière intervention 31 octobre 2008 > Francois47 Messages postés 107 Date d'inscription vendredi 28 décembre 2007 Statut Membre Dernière intervention 9 septembre 2009
3 juil. 2008 à 12:24
Euh c'est le code avec le OnClick que je voulais voir.
Si je comprends bien, ton pb viens de la, il ne rentre pas dans la fonction show_img(id). SAns doute un pb d'echappement des differents guillemets dans l'appel à la fonction.

Essaie (en remplacant le nom de la photo bien sur) :
<?php echo "<img src=\"test.jpg\" onClick=\"show_img('.$image_id2.')\">"; ?>
0