Affichage des photos sur Visionneuse

jmde -  
 jmde -
Bonjour,

J’ai adapté ce code pour réaliser une visionneuse mais je n’arrive pas à faire défiler les photos

Est-ce que vous pouvez m’aider en corrigeant mon code, je précise que mes connaissances en javascrpit sont très limitées.

Merci de votre aide.

Salutations

*****************************************************************************************

Mes photos sont dans un repertoire de ce type :

Photos/2008/Sejour/Province/Photos/001.jpg, 002.jpg, 003.jpg
Photos/2008/Sejour/Province/Photos-dia/001.jpg, 002.jpg, 003.jpg
Photos/2008/Sejour/Province/Vignettes/001.jpg, 002.jpg, 003.jpg

******************************************************************************************

Code JavaScript :

var nb_photos,numero_photo,photo_hauteur_max,photo_largeur_max;

photo_hauteur_max="360";
photo_largeur_max="540";

// numero de la photo courante
numero_photo=1;

// nombre de photos dans la galerie
nb_photos=1;

var liste_photos=new Array();
var auteurs=new Array();
var legendes=new Array();
var src_grandes_photos=new Array();

var nom_galerie='';

var diaporama_actif=0;
var duree=3000;

function js_charger_galerie(annee,sujet,galerie,n)
{
var i = 0;
var j = 1;
var nom_fichier="000";
var chemin = "/photos/" + annee + "/" + sujet + "/" + galerie + "/photos-dia/";
var chemin2 = "/photos/" + annee + "/" + sujet + "/" + galerie + "/photos/";
nb_photos = n;

while (i<nb_photos)
{
liste_photos[i] = new Image();
liste_photos[i].src = chemin + nom_fichier.substr(0,nom_fichier.length-j.toString(10).length) + j + ".jpg";
liste_photos[i].alt = "Sheerazade Franconville : "+ nom_galerie + " - Photo : " + j + "/" + nb_photos;
liste_photos[i].title = "Sheerazade Franconville : "+ nom_galerie + " - Photo : " + j + "/" + nb_photos;
src_grandes_photos[i] = chemin2 + nom_fichier.substr(0,nom_fichier.length-j.toString(10).length) + j + ".jpg";

i++;
j++;
}
}

function js_premiere_photo()
{
numero_photo=1;
js_affiche_photo(numero_photo);
}

function js_en_avant()
{
(numero_photo == nb_photos) ? numero_photo=1 : numero_photo=numero_photo+1;
js_affiche_photo(numero_photo);
}

function js_en_arriere()
{
(numero_photo==1) ? numero_photo=nb_photos : numero_photo=(numero_photo-1);
js_affiche_photo(numero_photo);
}

function js_derniere_photo()
{
numero_photo=nb_photos;
js_affiche_photo(numero_photo);
}

function js_diaporama()
{
if (diaporama_actif == 0)
{
document.images['ico_diaporama'].src='/obj/images/ico_ph_fin.gif';
document.images['ico_diaporama'].alt='Fin Diaporama';
document.images['ico_diaporama'].title='Arrêter le Diaporama';
diaporama_actif=1;
js_changer_photo();
}
else
{
document.images['ico_diaporama'].src='/obj/images/ico_ph_deb.gif';
document.images['ico_diaporama'].alt='Début Diaporama';
document.images['ico_diaporama'].title='Lancer le Diaporama';
diaporama_actif=0;
js_arret_diaporama();
}
}

function js_changer_photo()
{
(numero_photo == nb_photos) ? numero_photo=1 : numero_photo=numero_photo+1;
js_affiche_photo(numero_photo);
roll=setTimeout("js_changer_photo()",duree);
}

function js_arret_diaporama()
{
window.clearTimeout(roll);
document.getElementById('photo_agrandie').src=liste_photos[numero_photo-1].src;
}

function js_affiche_photo(k)
{
numero_photo=k;
image=document.getElementById('photo_agrandie');
image.alt=liste_photos[k-1].alt;
image.title=liste_photos[k-1].title;
image.src=liste_photos[k-1].src;

document.getElementById('photo').getElementsByTagName("tr")[0].getElementsByTagName("th")[0].getElementsByTagName("h2")[0].firstChild.nodeValue=liste_photos[k-1].title;
document.getElementById('photo').getElementsByTagName("tr")[2].getElementsByTagName("td")[0].firstChild.nodeValue=auteurs[k-1];
document.getElementById('photo').getElementsByTagName("tr")[3].getElementsByTagName("td")[0].firstChild.nodeValue=legendes[k-1];
lien=document.getElementById('a_photo');
lien.href=src_grandes_photos[k-1];
lien=document.getElementById('photo_agrandie');
lien.src=liste_photos[k-1].src;
}

/* Pour tester la configuration de l'internaute */
function js_javascript_actif()
{
document.write("<p>Actuellement, sur votre navigateur, Javascript est activé.</p>");
}

function js_proposer(bouton)
{
switch (bouton)
{
case "Diaporama":
document.write("<div id='boutons_galerie'>");
document.write('<a href="#photo" title="Première" onclick="javascript:js_premiere_photo();"><img src="/obj/images/ico_ph_premier.gif" alt="Première" title="Première photo de la galerie"/></a>');
document.write('<a href="#photo" title="Précédent" onclick="javascript:js_en_arriere();"><img src="/obj/images/ico_ph_precedent.gif" alt="Précédente" title="Photo précédente"/></a>');
document.write('<a href="#photo" title="Diaporama" onclick="javascript:js_diaporama();"><img id="ico_diaporama" src="/obj/images/ico_ph_deb.gif" alt="Début Diaporama" title="Lancer le diaporama"/></a>');
document.write('<a href="#photo" title="Suivant" onclick="javascript:js_en_avant();"><img src="/obj/images/ico_ph_suivant.gif" alt="Suivante" title="Photo suivante"/></a>');
document.write('<a href="#photo" title="Dernière" onclick="javascript:js_derniere_photo();"><img src="/obj/images/ico_ph_dernier.gif" alt="Dernière" title="Dernière photo de la galerie"/></a>');
document.write('</div>');
break;
default:
alert("Erreur fonction Proposer(bouton) : paramètre non prévu.");
break;
}
}

*************************************************************************************

Code html :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"/>

<title>Visionneuse</title>
<meta name="Keywords" content="p"/>

<script language="javascript" src="../JavaScript/Visionneuse.js"></script>
<link rel="stylesheet" type="text/css" href="../Css/Visionneuse.css" />

<script type="text/javascript">
<!--
legendes[0] = "aa";
legendes[1] = "ab";
legendes[2] = "ac";

auteurs[0] = "dd";
auteurs[1] = "dc";
auteurs[2] = "db";

</script>

<script type="text/javascript">

nom_galerie = "Province";
-->
</script>
</head>

<body onload="javascript:js_charger_galerie('2008','Sejour','Province','20')">

<div id="conteneur">
<div id="titre"><h1> wwwwwwwww </h1></div>
<div id="milieu">
<table id="photo" summary="">
<tr><th><h2> xxxxxxxxxx xxxxxxxxx xxxxxxx - Photo : 1/20</h2></th></tr>

<tr><td><a id="a_photo" href="/Photos/2008/Sejour/Province/Photos/001.jpg">
<img src="/Photos/2008/Sejour/Province/Photos-dia/001.jpg" alt=" - Photo : 1/20" width="604" height="454" id="photo_agrandie" title=" - Photo : 1/20"/></a>
</td>
</tr>
<tr><td class="auteur_photo">aa</td>
</tr>
<tr><td class="legende_photo">dd</td>
</tr>
</table>
<!---->
</div>

<div id="avant_galerie" class="sous_bloc_float">
<p class="choix"></p>
<script type="text/javascript">
<!--
js_proposer("Diaporama");
-->
</script>
<noscript> <div id="boutons_galerie"><p>Activez le Javascript pour visualiser les galeries <br/><a href="/2-photos.html#aide-photos" title="aide pour les photos" >aaaaaaaaaa</a></p></div></noscript>
</div>

<div id="galerie">
<!-- Photos 1 -->
<a href="/Photos/2008/Sejour/Province/Photos/001.jpg" onclick="js_affiche_photo(2);return false;"><img src="/Photos/2008/Sejour/Province/vignettes/001.jpg" alt=" Vignette : 2/20" width="102" height="77" title="Vignette : 1/20"/></a>

<!-- Photos 2 -->
<a href="/Photos/2008/Sejour/Province/Photos/002.jpg" onclick="js_affiche_photo(2);return false;"><img src="/Photos/2008/Sejour/Province/vignettes/002.jpg" alt="Vignette : 2/20" width="100" height="75" title="Vignette : 2/20"/></a>

<!-- Photos 3 -->
<a href="/Photos/2008/Sejour/Province/Photos/003.jpg" onclick="js_affiche_photo(3);return false;"><img src="/Photos/2008/Sejour/Province/vignettes/003.jpg" alt="Vignette : 3/20" width="100" height="75" title="Vignette : 3/20"/></a></div>
</div>

</body>

</html>
A voir également:

1 réponse

jmde
 
Bonjour,

En publiant le code de la visionneuse sur mon site le problème d'affichage des photos a disparu.

Par contre est-ce que vous pouvez m'aider à réaliser un message d'attente avec éventuellement une barre de progression pendant le chargement des images.

Merci pour votre aide.

Salutations
0
jmde
 
Bonjour,

Je reprends le post de la visionneuse d’image.

J’ai rajouté une page de pré chargement avec une barre de défilement, mais l’affichage de la page de pré chargement et le pré chargement des photos par lui-même me parait très long.

Est-ce que j’utilise correctement le code que j’ai trouvé pour le pré chargement, et ne fait-il pas doublon avec la fonction js_charger_galerie(annee,sujet,galerie,n) de la visionneuse ?

Voici le lien pour accéder à la page,
http://arsf.free.fr/Informations/Sommaire-Informations-1.html

Choisir Essai Visionneuse.

Merci pour votre aide.

Salutations
0
jmde > jmde
 
Bonjour,

Personne pour m'aider ?

J'ai vraiment besoins d'aide car je suis bloqué sur ce sujet.

Salutations.
0