18041 sujets
Questions générales et questions de débutants
C'est un peu compliqué de mettre mes pages en ligne parce que j'ai une base de données derrière... et ca prendrait du temps!
En revanche je peux donner mon code. J'ai adapté le tuto pour mes besoins. Les requêtes fonctionnent.
fichier php
et le fichier javascript (identique à celui du tuto)
Sur FF le systeme marche très bien. c'est uniquement sur IE ou lorsque je clique sur les miniatures pour afficher la grande image, celle-ci s'ouvre dans une nouvelle page au lieu de s'ouvrir sur la meme page.
[/i]
En revanche je peux donner mon code. J'ai adapté le tuto pour mes besoins. Les requêtes fonctionnent.
fichier php
<script type="application/javascript" language="javascript">
window.onload = change_photo();
</script>
<div id="galerie">
<ul id="galerie_mini">
<?
$req_champs="SELECT * FROM annonce_champs".$id_projet." WHERE visible_champs=1 AND id_type=8 ORDER BY position_champs";
$result_champs=mysql_query($req_champs);
while($rows_champs=mysql_fetch_array($result_champs))
{
$nom_champs=$rows_champs['nom_champs'];
if($rows_annonce[$nom_champs]!="")
{
?><li><a href="<? echo "photos_".$id_projet."/grande/A_".$id_projet."_".$rows_annonce['id_annonce']."_".$rows_champs['id_champs'].$rows_annonce[$nom_champs]; ?>" title="<? echo $rows_annonce['titre_'.$nom_champs]; ?>"><img src="<? echo "photos_".$id_projet."/miniature/A_".$id_projet."_".$rows_annonce['id_annonce']."_".$rows_champs['id_champs'].$rows_annonce[$nom_champs]; ?>" alt="<? echo $rows_annonce['titre_'.$nom_champs]; ?>" title="<? echo $rows_annonce['titre_'.$nom_champs]; ?>" /></a></li><?
}
}
?>
</ul>
<dl id="photo">
<dt><? echo $rows_annonce['titre_photo_1']; ?></dt>
<dd><img id="big_pict" src="<? echo "photos_".$id_projet."/grande/A_".$id_projet."_".$rows_annonce['id_annonce']."_".$rows_photo['id_champs'].$rows_annonce["photo_1"]; ?>" title="<? echo $rows_annonce['titre_photo_1']; ?>" alt="<? echo $rows_annonce['titre_photo_1']; ?>" /></dd>
</dl>
</div>
et le fichier javascript (identique à celui du tuto)
function change_photo()
{
var photos = document.getElementById('galerie_mini') ;
// On récupère l'élément ayant pour id galerie_mini
var liens = photos.getElementsByTagName('a') ;
// On récupère dans une variable tous les liens contenu dans galerie_mini
var big_photo = document.getElementById('big_pict') ;
// Ici c'est l'élément ayant pour id big_pict qui est récupéré, c'est notre photo en taille normale
var titre_photo = document.getElementById('photo').getElementsByTagName('dt')[0] ;
// Et enfin le titre de la photo de taille normale
// Une boucle parcourant l'ensemble des liens contenu dans galerie_mini
for (var i = 0 ; i < liens.length ; ++i) {
// Au clique sur ces liens
liens[i].onclick = function() {
big_photo.src = this.href; // On change l'attribut src de l'image en le remplaçant par la valeur du lien
big_photo.alt = this.title; // On change son titre
titre_photo.firstChild.nodeValue = this.title; // On change le texte de titre de la photo
return false; // Et pour finir on inhibe l'action réelle du lien
};
}
}
Sur FF le systeme marche très bien. c'est uniquement sur IE ou lorsque je clique sur les miniatures pour afficher la grande image, celle-ci s'ouvre dans une nouvelle page au lieu de s'ouvrir sur la meme page.
[/i]
Bon, j'ai trouvé mon erreur!! (J'avais pas mal de fonction javascript qui buguait....)
En fait quand j'ai appelée la fifhier javascript en haut de ma page j'ai déclaré comme ceci :
alors qu'il aurait fallu que je déclare comme ceci! et la ça marche....
Encore un truc a la con.... mais bon c'est le jeu!!
En fait quand j'ai appelée la fifhier javascript en haut de ma page j'ai déclaré comme ceci :
<script type="application/javascript" language="javascript">
alors qu'il aurait fallu que je déclare comme ceci! et la ça marche....
<script type="text/javascript" language="javascript">
Encore un truc a la con.... mais bon c'est le jeu!!