PDA

View Full Version : [javascript] scrollpicture


Albez79
12-03-2010, 14:24
mi sapreste dire come mai queste 2 funzioni lavorano correttamente in ie7 e googlechrome mentre in ff e ie8 no ??
è semplicemente una galleria di immagini (creo le thumbs in php e le faccio scorrere assieme al nome con javascript)

grazie

function init() {

allpicturewidth=document.all.picturediv.offsetWidth
document.all.picturediv.style.posTop=scrollertop
document.all.picturediv.style.posLeft=scrollerleft+scrollerwidth
clipleft=0
clipright=0
cliptop=0
clipbottom=scrollerheight
document.all.picturediv.style.clip ="rect("+cliptop+" "+clipright+" "+clipbottom+" "+clipleft+")"
document.all.picturediv.style.visibility="visible"
scrollpicture()



}

function scrollpicture() {

if (document.all.picturediv.style.posLeft>=scrollerleft-allpicturewidth) {
document.all.picturediv.style.posLeft-=step
clipright+=step
if (clipright>scrollerwidth) {
clipleft+=step
}
document.all.picturediv.style.clip ="rect("+cliptop+" "+clipright+" "+clipbottom+" "+clipleft+")"
var timer=setTimeout("scrollpicture()",pause)

}

}

anonimizzato
12-03-2010, 17:17
Se vuoi che funzioni su tutti (si spera) i browser devi usare una sintassi diversa per accedere ai nodi del DOM.

Nello specifico

document.getElementById("idElemento");

invece che

document.all.nomeElemento

Ciao.

Albez79
13-03-2010, 10:34
grazie!

Albez79
15-03-2010, 09:02
questo è il link da dove ho preso lo script

adesso le immagini compaiono nei vari browser ma in ff e gc non scorrono :(


http://www.weblink.altervista.org/scripting/E6_immaginiscorroriz.php

Albez79
15-03-2010, 09:06
queste sono le modifiche che ho fatto!

function init() {

allpicturewidth=document.getElementById('emptypicturediv').offsetWidth
document.getElementById('picturediv').style.top=scrollertop
document.getElementById('picturediv').style.left=scrollerleft+scrollerwidth
clipleft=0
clipright=0
cliptop=0
clipbottom=scrollerheight
document.getElementById('picturediv').style.clip ="rect("+cliptop+" "+clipright+" "+clipbottom+" "+clipleft+")"
document.getElementById('picturediv').style.visibility="visible"
scrollpicture()


}

function scrollpicture() {

if (parseInt(document.getElementById('picturediv').style.left)>=scrollerleft-allpicturewidth) {
document.getElementById('picturediv').style.left=parseInt(document.getElementById('picturediv').style.left)-step
clipright+=step
if (clipright>scrollerwidth) {
clipleft+=step
}
document.getElementById('picturediv').style.clip ="rect("+cliptop+" "+clipright+" "+clipbottom+" "+clipleft+")"
var timer=setTimeout("scrollpicture()",pause)
}
else {
resetposition()
}

}

function resetposition() {

allpicturewidth=document.getElementById('emptypicturediv').offsetWidth
document.getElementById('picturediv').style.left=scrollerleft+scrollerwidth
clipleft=0
clipright=0
document.getElementById('picturediv').style.clip ="rect("+cliptop+" "+clipright+" "+clipbottom+" "+clipleft+")"
scrollpicture()


}

Albez79
15-03-2010, 13:10
nessuno che mi aiuta?? :(