begin process at 2012 05 29 04:53:21
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

Framework

 > 

Autre Framework

 > 

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


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

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

mercredi 13 janvier 2010 à 11:07:31 | 2 défilements d'images dont un qui reste figé

Sweety521

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;i<imgPlaces2+1;i++){ // ccréation des images
newImg2=document.createElement("IMG")
newImg2.setAttribute("id","pic_"+i)
newImg2.setAttribute("src","")
newImg2.style.position="absolute"
newImg2.style.width=imgWidth2+"px"
newImg2.style.height=imgHeight2+"px"
newImg2.style.border=0
newImg2.alt=""
newImg2.i=i
newImg2.onclick=function(){his2Win(data2[this.i][2])}
document.getElementById("display_area2").appendChild(newImg2)
}

containerEL2=document.getElementById("his2container")
displayArea2=document.getElementById("display_area2")
pic02=document.getElementById("pic_0")

containerBorder2=(document.compatMode=="CSS1Compat"?0:parseInt(containerEL2.style.borderWidth)*2)
containerWidth2=(imgPlaces2*imgWidth2)+((imgPlaces2-1)*imgSpacer2)
containerEL2.style.width=containerWidth2+(!moz2?containerBorder2:"")+"px"
containerEL2.style.height=imgHeight2+(!moz2?containerBorder2:"")+"px"

displayArea2.style.width=containerWidth2+"px"
displayArea2.style.clip="rect(0,"+(containerWidth2+"px")+","+(imgHeight2+"px")+",0)"
displayArea2.onmouseover=function(){stopHIS2()}
displayArea2.onmouseout=function(){scrollHIS2()}

imgPos2= -pic02.width

for(var i=0;i<imgPlaces2+1;i++){
currentImage2=document.getElementById("pic_"+i)

if(dir2==0){imgPos2+=pic02.width+imgSpacer2} // if left

initPos2[i]=imgPos2
if(dir2==0){currentImage2.style.left=initPos2[i]+"px"} // if left

if(dir2==1){ // if right
document.getElementById("pic_"+[(imgPlaces2-i)]).style.left=initPos2[i]+"px"
imgPos2+=pic02.width+imgSpacer2
}

if(nextPic2==data2.length){nextPic2=0}

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

scrollHIS2()
}

timer2=""
function scrollHIS2(){
clearTimeout(timer2)
for(var i=0;i<imgPlaces2+1;i++){
currentImage2=document.getElementById("pic_"+i)

nowDivPos2[i]=parseInt(currentImage2.style.left)

if(dir2==0){nowDivPos2[i]-=step2}
if(dir2==1){nowDivPos2[i]+=step2}

if(dir2==0&&nowDivPos2[i]<= -(pic02.width+imgSpacer2) || dir2==1&&nowDivPos2[i]>containerWidth2){

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;i<imgPlaces+1;i++){ // ccréation des images
newImg=document.createElement("IMG")
newImg.setAttribute("id","pic_"+i)
newImg.setAttribute("src","")
newImg.style.position="absolute"
newImg.style.width=imgWidth+"px"
newImg.style.height=imgHeight+"px"
newImg.style.border=0
newImg.alt=""
newImg.i=i
newImg.onclick=function(){his3Win(data[this.i][2])}
document.getElementById("display_area").appendChild(newImg)
}

containerEL=document.getElementById("his3container")
displayArea=document.getElementById("display_area")
pic0=document.getElementById("pic_0")

containerBorder=(document.compatMode=="CSS1Compat"?0:parseInt(containerEL.style.borderWidth)*2)
containerWidth=(imgPlaces*imgWidth)+((imgPlaces-1)*imgSpacer)
containerEL.style.width=containerWidth+(!moz?containerBorder:"")+"px"
containerEL.style.height=imgHeight+(!moz?containerBorder:"")+"px"

displayArea.style.width=containerWidth+"px"
displayArea.style.clip="rect(0,"+(containerWidth+"px")+","+(imgHeight+"px")+",0)"
displayArea.onmouseover=function(){stopHIS3()}
displayArea.onmouseout=function(){scrollHIS3()}

imgPos= -pic0.width

for(var i=0;i<imgPlaces+1;i++){
currentImage=document.getElementById("pic_"+i)

if(dir==0){imgPos+=pic0.width+imgSpacer} // if left

initPos[i]=imgPos
if(dir==0){currentImage.style.left=initPos[i]+"px"} // if left

if(dir==1){ // if right
document.getElementById("pic_"+[(imgPlaces-i)]).style.left=initPos[i]+"px"
imgPos+=pic0.width+imgSpacer
}

if(nextPic==data.length){nextPic=0}

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

scrollHIS3()
}

timer=""
function scrollHIS3(){
clearTimeout(timer)
for(var i=0;i<imgPlaces+1;i++){
currentImage=document.getElementById("pic_"+i)

nowDivPos[i]=parseInt(currentImage.style.left)

if(dir==0){nowDivPos[i]-=step}
if(dir==1){nowDivPos[i]+=step}

if(dir==0&&nowDivPos[i]<= -(pic0.width+imgSpacer) || dir==1&&nowDivPos[i]>containerWidth){

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>
<body>

<DIV id="his2container" style="position:relative; width:0px;height:0px; border:1px solid #5F5F5F;overflow:hidden; background-color:#ffffff">
<div id="display_area2" style="position:absolute; left:0; top:0; width:0px; height:0px; clip:rect(0,0,0,0)"></div>
</DIV>

<!-- Contenu Menu Horizontal-->
<DIV id="his3container" style="position:relative; width:0px;height:0px; border:1px solid #5F5F5F;overflow:hidden; background-color:#ffffff">
<div id="display_area" style="position:absolute; left:0; top:0; width:0px; height:0px; clip:rect(0,0,0,0)"></div>
</DIV><br/>

samedi 16 janvier 2010 à 07:03:30 | Re : 2 défilements d'images dont un qui reste figé

PetoleTeam

Membre Club
Réponse acceptée !



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
Code Javascript :
newImg.setAttribute("id","pic3_"+i)
et ainsi de suite...
;O)
lundi 18 janvier 2010 à 10:24:53 | Re : 2 défilements d'images dont un qui reste figé

Sweety521

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!


Cette discussion est classée dans : function, left, loc, if, currentimage2


Répondre à ce message

Sujets en rapport avec ce message

Liste déroulante avec recherche par clavier [ par chahy ] Bonjour les amiesj'ai un petit probléme que je n'arrive pas a le resoudre , je veux que le resultat trouvez avec cette Liste déroulante avec recherche Problème de Refresh [ par nabmoah ] Salutj'ai trouvé ce bout de code sur ce forum et j'ai essayé de le faire marché mais sans succès.le problème c'est que la page m'affiche toutes les 2 Problème pour appeler une fonction en javascript [ par Joke758 ] J'essaie d'appeler la fonction AM.PassportEncrypt.EncryptData("test1", null, "pwd", null) mais je ne sais pas pourquoi ça ne fait rien..voici ma sourc très lent [ par metaleurop ] Bonjour à tous!!J'ai un script sympa pour des élèves mais malheureusement il est super long à tourner ,quand il ne bugge pas!Serait-il possible de le Player multi format sécuriter java & php [ par c2bomb ] bonjour a tous,je cherche a afficher mon player,dans une fenetre style popup,mais hélas je suis vraiment nulle en javascript...si quelq'un peut m'aide Une ame charitable pour arrander un script [ par balous001 ] bonjour a tous et a toutes !Je sollicite votre aide pour arranger un script defectueux.Je m'explique:Je vient de crée un forum chez l'hebergeur forum menu accordéon dans fenetre au survol [ par zon28 ] Bonjour le but du script suivant est 1- créer une zone à l'aide d'une div (#menu1, #menu2,...); 2- au survol de cette zone faire appaitre un menu ac Pb avec Firefox et DOCTYPE strict [ par nico03 ] Bonjour, J'ai créé une page web sous DOCTYPE strict XHTML 1.0 permettant d'afficher un texte défilant. Ce texte reprend les titres des news de la pa Une fonction qui bloque les autres [ par whombat ] Bonjour à tous,J'ai des fonctions qui 'fonctionnent' assez bien : 2 pop-up et une fonction pour éviter le clic droit. Mais ensemble ça coince...Là tou


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,718 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales