par
guilt92 » 24 mars 2007, 04:47
Bonjour,
je voudrais réaliser un script pour faire défiler des photos de droite à gauche en permanence et verticalement dans une cellule d'un tableau. J'ai trouvé beaucoup de post sur le sujet et des bouts de code mais aucune solution qui marche sous IE et Firefox et qui fasse ce que je veux faire. La seule solution que je voie à ce jour serait un java applet mais je prefererait du javascript.... Le code que j'ai pour l'instant fonctionne parfaitement sous IE mais n'affiche absolument rien sous Firefox, à cause de l'ilayer je pense mais je ne sais pas comment l'adapter... si quelqu'un peut m'aider c'est avec plaisir...
Le code :
Code : Tout sélectionner
<script language="javascript">
var sliderwidth=330
var sliderheight=145
var slidespeed=4
//les images
var leftrightslide=new Array()
var finalslide=''
leftrightslide[0]='<img src="image1"/>'
leftrightslide[1]='<img src="image2"/>'
var copyspeed=slidespeed
for (i=0;i<leftrightslide.length;i++)
finalslide=finalslide+leftrightslide[i]+" "
if (document.all){
document.write('<marquee id="ieslider" scrollAmount=0 style="width:'+sliderwidth+'">'+finalslide+'</marquee>')
ieslider.onmouseover=new Function("ieslider.scrollAmount=0")
ieslider.onmouseout=new Function("if (document.readyState=='complete') ieslider.scrollAmount=slidespeed")
}
function regenerate(){
window.location.reload()
}
function regenerate2(){
if (document.layers){
document.ns_slider01.visibility="show"
setTimeout("window.onresize=regenerate",450)
intializeleftrightslide()
}
if (document.all)
ieslider.scrollAmount=slidespeed
}
function intializeleftrightslide(){
document.ns_slider01.document.ns_slider02.document.write('<nobr>'+finalslide+'</nobr>')
document. ns_slider01.document.ns_slider02.document.close()
thelength=document.ns_slider01.document.ns_slider02.document.width
scrollslide()
}
function scrollslide(){
if (document.ns_slider01.document.ns_slider02.left>=thelength*(-1)){
document.ns_slider01.document.ns_slider02.left-=''+slidespeed+'px';
setTimeout("scrollslide()",100)
}
else{
document.ns_slider01.document.ns_slider02.left=''+sliderwidth+'px';
scrollslide()
}
}
window.onload=regenerate2
</script>
<ilayer width=&{sliderwidth}; height=&{sliderheight}; name="ns_slider01" visibility=hide>
<layer name="ns_slider02" onMouseover="slidespeed=0;" onMouseout="slidespeed=copyspeed"></layer>
</ilayer>
Bonjour,
je voudrais réaliser un script pour faire défiler des photos de droite à gauche en permanence et verticalement dans une cellule d'un tableau. J'ai trouvé beaucoup de post sur le sujet et des bouts de code mais aucune solution qui marche sous IE et Firefox et qui fasse ce que je veux faire. La seule solution que je voie à ce jour serait un java applet mais je prefererait du javascript.... Le code que j'ai pour l'instant fonctionne parfaitement sous IE mais n'affiche absolument rien sous Firefox, à cause de l'ilayer je pense mais je ne sais pas comment l'adapter... si quelqu'un peut m'aider c'est avec plaisir...
Le code :
[code]<script language="javascript">
var sliderwidth=330
var sliderheight=145
var slidespeed=4
//les images
var leftrightslide=new Array()
var finalslide=''
leftrightslide[0]='<img src="image1"/>'
leftrightslide[1]='<img src="image2"/>'
var copyspeed=slidespeed
for (i=0;i<leftrightslide.length;i++)
finalslide=finalslide+leftrightslide[i]+" "
if (document.all){
document.write('<marquee id="ieslider" scrollAmount=0 style="width:'+sliderwidth+'">'+finalslide+'</marquee>')
ieslider.onmouseover=new Function("ieslider.scrollAmount=0")
ieslider.onmouseout=new Function("if (document.readyState=='complete') ieslider.scrollAmount=slidespeed")
}
function regenerate(){
window.location.reload()
}
function regenerate2(){
if (document.layers){
document.ns_slider01.visibility="show"
setTimeout("window.onresize=regenerate",450)
intializeleftrightslide()
}
if (document.all)
ieslider.scrollAmount=slidespeed
}
function intializeleftrightslide(){
document.ns_slider01.document.ns_slider02.document.write('<nobr>'+finalslide+'</nobr>')
document. ns_slider01.document.ns_slider02.document.close()
thelength=document.ns_slider01.document.ns_slider02.document.width
scrollslide()
}
function scrollslide(){
if (document.ns_slider01.document.ns_slider02.left>=thelength*(-1)){
document.ns_slider01.document.ns_slider02.left-=''+slidespeed+'px';
setTimeout("scrollslide()",100)
}
else{
document.ns_slider01.document.ns_slider02.left=''+sliderwidth+'px';
scrollslide()
}
}
window.onload=regenerate2
</script>
<ilayer width=&{sliderwidth}; height=&{sliderheight}; name="ns_slider01" visibility=hide>
<layer name="ns_slider02" onMouseover="slidespeed=0;" onMouseout="slidespeed=copyspeed"></layer>
</ilayer>[/code]