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

Résolu
Sweety521 Messages postés 6 Date d'inscription vendredi 10 avril 2009 Statut Membre Dernière intervention 2 février 2010 - 13 janv. 2010 à 11:07
Sweety521 Messages postés 6 Date d'inscription vendredi 10 avril 2009 Statut Membre Dernière intervention 2 février 2010 - 18 janv. 2010 à 10:24
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

PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
16 janv. 2010 à 07:03
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)
3
Sweety521 Messages postés 6 Date d'inscription vendredi 10 avril 2009 Statut Membre Dernière intervention 2 février 2010
18 janv. 2010 à 10:24
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!
0
Rejoignez-nous