Slideshow

Signaler
Messages postés
1
Date d'inscription
mercredi 25 janvier 2006
Statut
Membre
Dernière intervention
28 mars 2006
-
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
-
jai utiliser un javascripts slideshow pour faire defiler des images de gauche a droite mais le scripts naccepte que 10 images lorsque je rajoute plus il coupe limage et ramene a la premiere image,i need really help and quick.

le code utiliser et le suivant

<script type="text/javascript">

//Specify the slider's width (in pixels)
var sliderwidth="750px"
//Specify the slider's height
var sliderheight="375px"
//Specify the slider's slide speed (larger is faster 1-10)
var slidespeed=10
//configure background color:
slidebgcolor="#DDDDDD"

//Specify the slider's images
var leftrightslide=new Array()
var finalslide=''
leftrightslide[1]=''
leftrightslide[2]=''
leftrightslide[3]=''
leftrightslide[4]=''
leftrightslide[5]=''
leftrightslide[6]=''
leftrightslide[7]=''
leftrightslide[8]=''
leftrightslide[9]=''
leftrightslide[10]=''




//Specify gap between each image (use HTML):
var imagegap=""

//Specify pixels gap between each slideshow rotation (use integer):
var slideshowgap=14


////NO NEED TO EDIT BELOW THIS LINE////////////

var copyspeed=slidespeed
leftrightslide='<nobr>'+leftrightslide.join(imagegap)+'</nobr>'
var iedom=document.all||document.getElementById
if (iedom)
document.write(''+leftrightslide+'')
var actualwidth=''
var cross_slide, ns_slide

function fillup(){
if (iedom){
cross_slide=document.getElementById? document.getElementById("test2") : document.all.test2
cross_slide2=document.getElementById? document.getElementById("test3") : document.all.test3
cross_slide2=document.getElementById? document.getElementById("test4") : document.all.test4
cross_slide.innerHTML=cross_slide2.innerHTML=leftrightslide
actualwidth=document.all? cross_slide.offsetWidth : document.getElementById("temp").offsetWidth
cross_slide2.style.left=actualwidth+slideshowgap+"px"
}
else if (document.layers){
ns_slide=document.ns_slidemenu.document.ns_slidemenu2
ns_slide2=document.ns_slidemenu.document.ns_slidemenu3
ns_slide3=document.ns_slidemenu.document.ns_slidemenu4
ns_slide.document.write(leftrightslide)
ns_slide.document.close()
actualwidth=ns_slide.document.width
ns_slide2.left=actualwidth+slideshowgap
ns_slide2.document.write(leftrightslide)
ns_slide2.document.close()
}
lefttime=setInterval("slideleft()",50)
}
window.onload=fillup

function slideleft(){
if (iedom){
if (parseInt(cross_slide.style.left)>(actualwidth*(-1)+9))
cross_slide.style.left=parseInt(cross_slide.style.left)-copyspeed+"px"
else
cross_slide.style.left=parseInt(cross_slide2.style.left)+actualwidth+slideshowgap+"px"

if (parseInt(cross_slide2.style.left)>(actualwidth*(-1)+8))
cross_slide2.style.left=parseInt(cross_slide2.style.left)-copyspeed+"px"
else
cross_slide2.style.left=parseInt(cross_slide.style.left)+actualwidth+slideshowgap+"px"

}
else if (document.layers){
if (ns_slide.left>(actualwidth*(-1)+8))
ns_slide.left-=copyspeed
else
ns_slide.left=ns_slide2.left+actualwidth+slideshowgap

if (ns_slide2.left>(actualwidth*(-1)+8))
ns_slide2.left-=copyspeed
else
ns_slide2.left=ns_slide.left+actualwidth+slideshowgap
}
}


if (iedom||document.layers){
with (document){
document.write('')
if (iedom){
write('
')
write('
')
write('

')
write('

')
write('

')
write('

')
}
else if (document.layers){
write('')
write('<layer name="ns_slidemenu2" left=0 top=0 onMouseover="copyspeed=0"

onMouseout="copyspeed=slidespeed"></layer>')
write('<layer name="ns_slidemenu3" left=0 top=0 onMouseover="copyspeed=0"

onMouseout="copyspeed=slidespeed"></layer>')
write('<layer name="ns_slidemenu4" left=0 top=0 onMouseover="copyspeed=0"

onMouseout="copyspeed=slidespeed"></layer>')
write('')
}
document.write('
')
}
}
</script>

1 réponse

Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
14
B
onjour...

Tout cela est confu mais bon à priori....
1/ Création d'une variable
var NbrImage;
à mettre sous...
<script type="text/javascript">

2/ Initialistion de la variable

NbrImage = leftrightslide.length;
à mettre après...
leftrightslide[10]='';

3/ Dans les Lignes ou il y a...
if (parseInt(cross_slide.style.left)>(actualwidth*(-1)+9))
remplace 9 par NbrImage...nota appriori les 8 (?) aussi

PS :
les else if (document.layers){ prévoit le cas de la présence de NetScape version 4+, seul à prendre en compte les layers mais plus utilisé de nos jour <SNIF>, donc supprime toutes les lignes correspondantes afin d'alléger et de clarifier ton code...

;0)

ceci n'est qu'une analyse rapide...