Modification diaporama panoramique javascript

bergeat Messages postés 5 Date d'inscription mercredi 4 mai 2005 Statut Membre Dernière intervention 6 octobre 2010 - 4 oct. 2010 à 18:42
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 - 6 oct. 2010 à 16:15
Bonjour,
je débute vraiment en javascript. j'ai trouvé un script que j'ai adapté pour un site.Il s'agit d'un diaporama panoramique. Il me convient mais je souhaiterais une modification que je n'arrive pas à réaliser.
Comme vous pouvez le voir sur le lien ci-dessous, les photos du diaporama du haut défilent à gauche ou à droite mais en boucle, c'est là mon problème.
Je voudrais que celles-ci défilent et s'arrêtent par rapport à sa dimension vers la gauche ou la droite( bords gauche et droit du panoramique).
voici le lien : http://galaxyweb.free.fr/systeme.php

voici le code:

<!--//
// personalisation de la fenêtre d'affichage du diaporama
function PL(){
self.moveTo(0,0)
self.resizeTo(screen.availWidth,screen.availHeight)
}
function TT(){

MX=7 // Entrez le nombre Total d'images
}
image="diaporama360/photos/stockholm1.jpg"; // l'adresse complete de l'image à afficher au demarrage
/*
Donnez l'adresse complete de chaque image et tenez compte que vous avez la possibilité d'importer
des images externes de toutes sortes dans les mêmes dimentions que le diaporama
*/
var imgUrl=new Array();
imgUrl[0]="diaporama360/photos/stockholm1.jpg";
imgUrl[1]="diaporama360/photos/stockholm.jpg";
imgUrl[2]="diaporama360/photos/etoile.gif";
imgUrl[3]="diaporama360/photos/images.gif";
imgUrl[4]="diaporama360/outils/background.jpg";
imgUrl[5]="diaporama360/photos/ciel.jpg";
imgUrl[6]="diaporama360/photos/soir.jpg";

/*
la liste d'images: entrez ici les noms ou les titres des images
*/

op = '<option value="'
fop = '</option>'

image1 = op+imgUrl[0]+'">Bienvenus'+fop;
image2 = op+imgUrl[1]+'">stockholm'+fop;
image3 = op+imgUrl[2]+'">Des étoiles'+fop;
image4 = op+imgUrl[3]+'">Des images'+fop;
image5 = op+imgUrl[4]+'">Background mobil'+fop;
image6 = op+imgUrl[5]+'">Ciel sur mer'+fop;
image7 = op+imgUrl[6]+'">Beauté du soir'+fop; // Ajouter des option, si vous voulez

L = image1+image2+image3+image4+image5+image6+image7 // entrez ici les nouvelles images dans l'ordre


/*
création du diaporama
*/

Limg=498 ; // Largeur de l'image
Himg=220 ; // Hauteur de l'image
/*
creation de la commande de vitesse
*/
Mask="diaporama360/outils/gif1.gif"; // adresse comlete de l'image mask
Lmsk=60 ; // Largeur de l'image mask
Hmsk=240 ; // Hauteur de l'image mask
Lmskstop=12 ; // Largeur de la commande Stop
bordure=1 ; // si vous ne voulez pas de bordure alors mettez 0
couleur="#003366" ; // entrez la couleur de la bordure
document.write('<style type="text/css" media="screen">');
document.write('#Diapo360{width: '+ Limg + 'px; height: '+ Himg +'px; background-color:#000000;}'+'IMG {cursor: pointer;};');
document.write('</style>');
var Diapo360 = document.getElementById("Diapo360" );
Diapo360.style.border = "solid "+bordure+"px "+couleur;
Diapo360.style.background = "url("+image+" ) repeat";
X = 1; // glissement à un coté
Y = -1; // glissement inversé
D = 10; // vitesse de rotation
/*
image mask pour variation de vitesse
*/
imd= '';
/*
la largeure de l'image mask pour le stop
*/
imfs= '\' border=0 src='+Mask+' width='+Lmskstop+' height='+Hmsk+'>';
setInterval('Deroulement()', 90); // 90 = Duré du pause
function Deroulement()
{
X += Y / D*100 ;
document.getElementById("Diapo360" ).style.backgroundPosition = X + "px";
}
/*
creation et affichage des images maske pour commonder la vitesse
Pour augmenter ou deminuer la vitesse à droite et à gauche Vous pouvez modifier les valeurs dans les lignes suivantes
pour faire tourner avec ou contre le mouvement du curseur il suffit de changer les valeurs positive contre les valeurs negatives au lignes suivantes.
*/
var editer = ""+
imd+ 7 + imf+
imd+ 2.5 + imf+
imd+ 0.7 + imf+
imd+ 0.3 + imf+
imd+ 0 + imfs+ // la commonde du stop
imd+ -0.3 + imf+
imd+ -0.7 + imf+
imd+ -2.5 + imf+
imd+ -7 + imf+
""; // on peut ajouter et supprimer des masks de vitesse dans les deux sens
Diapo360.innerHTML =(editer);
/*
Option de sélection et remplacement d'images
*/
var selection = 0;
function versplus() {
TT()
// annonce la fin du diaporama
if (selection >=MX-1)
alert('Fin du diaporama pour afficher d\'autres images \n\rCliquer sur: [ <<= ]\r\nOu sélectionnez une image dans la liste.');
selection = document.forms[1].elements[0].selectedIndex;
if (selection < document.forms[1].elements[0].length-1) {selection ++;}
document.forms[1].elements[0].selectedIndex=selection;
}
function versmoins() {
// annonce le debut du diaporama
if (selection == 0)
alert('Debut du diaporama pour afficher d\'autre images \n\rCliquer sur: [ =>> ]\r\nOu sélectionnez une image dans la liste.');
selection = document.forms[1].elements[0].selectedIndex;
if (selection > 0) {selection --;}
document.forms[1].elements[0].selectedIndex=selection;
}
function ChoiX(selection) {
document.forms[1].elements[0].selectedIndex = selection;
}
// Affiche l'image sélectionnée sur la liste deroulante
function ApLiQuE() {
selection = document.forms[1].elements[0].selectedIndex;
document.Diapo360.style.backgroundImage = "url("+ imgUrl[selection] +" )";
}
// Création des liens
function changeliens(FF,x)
{
if(document.getElementById)
document.getElementById(x).innerHTML = FF;
}
// Affichage des liens
function AFICHE()
{
changeliens('http://siv.site.voila.fr/index.htm';
// Tres important: si vous utilisez des images importés d'autres emplassements... vous devez créer un liens vers la page d'information en relation, si non suprimez le liens de la page.
// --> 


Merci de votre réponse

5 réponses

PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
4 oct. 2010 à 21:43
Bonjour,
plus que des images qui défilent de gauche à droite tu n'as qu'une image qui est mise en background et que l'on décale.
C'est ici que cela se passe
function Deroulement() {
  X += Y / D * 100;
  document.getElementById("Diapo360").style.backgroundPosition = X + "px";
}

il te suffit donc de tester la position du background et de le bloquer dans un sens comme dans l'autre.

;O)
0
bergeat Messages postés 5 Date d'inscription mercredi 4 mai 2005 Statut Membre Dernière intervention 6 octobre 2010
5 oct. 2010 à 13:21
merci beaucoup pour ta réponse
Je vais encore te solliciter , à quel endroit je doit mettre cette fonction pour le blocuage. Je n'y arrive pas, milles excuses.
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
5 oct. 2010 à 19:12
Bonjour,
comme dit ci avant, tout ce passe dans ta fonction Deroulement()
- Calcul de la prochaine position en appliquant la formule
- Test de la position par rapport aux bornes gauche et droite
[list][*]Borne Droite, la plus simple est égale à ZERO[*]Borne Gauche est égale à la largeur de l'image de fond MOINS la largeur de la fenêtre d'affichage.
Si on est en dehors on réajuste sur les bornes...
/list- Déplacement du background

That's All!!
;O)
0
bergeat Messages postés 5 Date d'inscription mercredi 4 mai 2005 Statut Membre Dernière intervention 6 octobre 2010
6 oct. 2010 à 16:05
function Deroulement()
{
;0
}

malheureusement çà ne marche pas . L'image reste figée , il n'y a plus de défilement
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
6 oct. 2010 à 16:15
Bonjour,
malheureusement çà ne marche pas
- montres nous au moins ta fonction Deroulement()

- quelles sont les erreurs lues dans la Console d'erreurs ?

;O)
0
Rejoignez-nous