2 défilements d'images dont un qui reste figé

Résolu
Signaler
Messages postés
6
Date d'inscription
vendredi 10 avril 2009
Statut
Membre
Dernière intervention
2 février 2010
-
Messages postés
6
Date d'inscription
vendredi 10 avril 2009
Statut
Membre
Dernière intervention
2 février 2010
-
Bonjour,

je souhaite réalisé deux défilements d'images de partenaires. J'ai bien les 2 barres que je souhaite mais le souci c'est qu'il y en un qui reste figé. Si quelqu'un pouvait m'aider car je ne maîtrise pas vraiment le javascript, seul outil dont j'ai à ma disposer pour réaliser mon projet. Merci davance pour vos réponses!
Voici le code:


<script type="text/javascript">
<!--
// ********** User Defining Area **********

data2=[
["1.png","",""],
["2.png","",""],
["3.png","",""],
["4.png","",""],
["5.png","",""],
["6.png","",""],
["7.png","",""],
["8.png","",""],
["9.png","",""]//pas de virgule pour le dernier élément
]

imgPlaces2=7 // nombre d'images visibles
imgWidth2=100 // taille en largueur des images
imgHeight2=45 // taille en hauteur des images
imgSpacer2=16 // espace entre les images

dir2=0 // direction pour le défilement 0 = gauche, 1 = droite

newWindow=1 // ouverture de nouvelle fenetre au clic sur image 0=non et 1=oui

// ********** Fin de la zone de définition des différents paramètres **********

moz2=document.getElementById&&!document.all

step2=1
timer2=""
speed2=10
nextPic2=0
initPos2=new Array()
nowDivPos2=new Array()

function initHIS2(){

for(var i=0;icontainerWidth2){

if(dir2==0){currentImage2.style.left=containerWidth2+imgSpacer2+"px"}
if(dir2==1){currentImage2.style.left= -pic02.width-(imgSpacer2*2)+"px"}

if(nextPic2>data2.length-1){nextPic2=0}

currentImage2.src=data2[nextPic2][0]
currentImage2.alt=data2[nextPic2][1]
currentImage2.i=nextPic2
currentImage2.onclick=function(){his2Win(data2[this.i][2])}

nextPic2++

}
else{
currentImage2.style.left=nowDivPos2[i]+"px"
}

}
timer2=setTimeout("scrollHIS2()",speed2)

}

function stopHIS2(){
clearTimeout(timer2)
}

function his2Win(loc){
if(loc==""){return}
if(newWindow==0){
location=loc
}
else{
//window.open(loc)
newin2=window.open(loc,'win1','left=430,top=340,width=800,height=100') // utlisation pour des tailles et position spécifiques de fenêtre
newin2.focus()
}
}

// add onload="initHIS2()" to the opening BODY tag

// -->
</script>




<script type="text/javascript">
<!--
// ********** User Defining Area **********

data=[
["a.png","",""],
["b.png","",""],
["c.png","",""],
["d.png","",""],
["e.png","",""],
["f.png","",""],
["g.png","",""],
["h.png","",""],
["i.png,"",""],
["j.png","1",""]//pas de virgule pour le dernier élément
]

imgPlaces=7 // nombre d'images visibles
imgWidth=100 // taille en largueur des images
imgHeight=45 // taille en hauteur des images
imgSpacer=16 // espace entre les images

dir=0 // direction pour le défilement 0 = gauche, 1 = droite

newWindow=1 // ouverture de nouvelle fenetre au clic sur image 0=non et 1=oui

// ********** Fin de la zone de définition des différents paramètres **********

moz=document.getElementById&&!document.all

step=1
timer=""
speed=10
nextPic=0
initPos=new Array()
nowDivPos=new Array()

function initHIS3(){

for(var i=0;icontainerWidth){

if(dir==0){currentImage.style.left=containerWidth+imgSpacer+"px"}
if(dir==1){currentImage.style.left= -pic0.width-(imgSpacer*2)+"px"}

if(nextPic>data.length-1){nextPic=0}

currentImage.src=data[nextPic][0]
currentImage.alt=data[nextPic][1]
currentImage.i=nextPic
currentImage.onclick=function(){his3Win(data[this.i][2])}

nextPic++

}
else{
currentImage.style.left=nowDivPos[i]+"px"
}

}
timer=setTimeout("scrollHIS3()",speed)

}

function stopHIS3(){
clearTimeout(timer)
}

function his3Win(loc){
if(loc==""){return}
if(newWindow==0){
location=loc
}
else{
//window.open(loc)
newin=window.open(loc,'win1','left=430,top=340,width=800,height=100') // utlisation pour des tailles et position spécifiques de fenêtre
newin.focus()
}
}

// add onload="initHIS3()" to the opening BODY tag

// -->
</script>


<script type="text/javascript">
window.onload = function (){
initHIS3();
initHIS2();
}
</script>

</head>









<!-- Contenu Menu Horizontal-->

2 réponses

Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
18
Bonjour,
la duplication des fonctions entraine fatalement des incohérences...
...dans tes functions initHIS2 et 3, et idem pour les fonctions scroll tu écris les mêmes références d'ID, et une ID se doit d'être unique.
Il te faut donc reprendre les affectation des ID dns au moins un de tes codes pour remplacer les deuxième par pic3 par exemple
newImg.setAttribute("id","pic3_"+i)
et ainsi de suite...
;O)
Messages postés
6
Date d'inscription
vendredi 10 avril 2009
Statut
Membre
Dernière intervention
2 février 2010

Je viens d'essayer et cela fonctionne très bien, je ne voyais pas jusqu'à présent où il fallait modifier les variables pour que les deux fonctions fonctionnent.
Merci beaucoup de ta réponse!