Newsgroup: it.comp.lang.javascript
Titolo: script x avanti indietro

Ho una galleria fotografica ... la galleria č divisa in tante gallerie di
20 foto ciascuna .. queste foto hanno ognuna una pagina htm che contiene
foto, commento e nome.
I file sono nominati, foto01,foto02... ma posso anche rinominarli
foto001,foto002...
qui nel ng ho trovato uno script che forse fa per me ma non riesco a farlo
funzionare, mi date una mano??
Ho bisogno di uno script che mi permetta attraverso 2 immagini che
rappresentano delle freccie di andare avanti e indietro con le pagine, per
non dover creare manualmente in ogni pagina (foto001.htm, ...) i
collegamenti alle immagini precedente, se c'č, cioč se non č la prima, e
successiva.
Lo script in questione usa i bottoni del form, ma credo che potrei
modifcarli con delle immagini.
Riporto lo script e poi pongo le questioni:
^^^^^^^^^^^^^
<SCRIPT LANGUAGE=javascript>
 ultima='103';  // ultimo numero + 1
 qUrl=self.location.toString(); // legge l'url attuale
function cambia(dove){
 num=qUrl.substr(qUrl.indexOf('pippo')+5,3); // estrapola i 3 caratteri
dopo la parola
 if (num==ultima-1 && dove=='avanti')num=-1; // controlla se ultima
pagina
 if (num==0 && dove!='avanti')num=ultima;  // controlla se prima pagina
 num= (dove=='avanti')?eval(num)+1:eval(num)-1; // aumenta/diminuisce il
num pag
 if (num<10) num='00'+num;   // inserisce gli eventuali 0
 if (num<100 && num>9) num='0'+num;
 location.href='pippo'+num+'.htm';
}
</script>
</head>
<body >
<FORM action="" method=POST id=form1 name=form1>
<INPUT type="button" value="Precedente" name=button1
onClick="cambia('indietro')">
<INPUT type="button" value="Successivo" name=button1
onClick="cambia('avanti')">
^^^^^^^^^^^^^
Allora:
1) credo che manchi qualcosa nello script e sia il motivo per cui non
funzioni! ma cosa?
2) per adattarlo dovrei suppongo, solo modificare questo
num=qUrl.substr(qUrl.indexOf('pippo')+5,3); 
in questo
num=qUrl.substr(qUrl.indexOf('foto')+4,3); 
3) conoscete script simili che possano essermi utili (vorrei perņ qualcosa
simile a questo senza array, senza dover inserire l'elenco delle pagine
nello script)??
4) per modificare i bottoni precendete e successivo con 2 immagini come
devo fare??
Grazie a tutti e ciao!
Auguri di buona pasqua!!!
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 foto001,foto002...
Io le rinominerei senza gli zeri iniziali, non servono e limitano il tutto
(se passi a 1000 foto, per esempio?)
Ho scritto un esempio al volo seguendo il tuo script, vedi un po'. Puoi
mettere un tag img al posto del button (e togliere anche la form che non
serve a nulla)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Scorrimento</title>
<SCRIPT LANGUAGE='javascript' type='text/javascript'>
 ultima='4'; //qua cambialo con la logica: tua ultima pagina + 1, come da
tuo script
 var
qUrl=String(self.location.pathname).toUpperCase().substr(document.location.p
athname.toUpperCase().indexOf("FOTO")+4).replace(/.htm/i,""); // legge l'url
attuale; con pathname rimuovi l'eventuale querystring; con toUpperCase()
eviti casini se scrivi fOTo, per esempio. qURL in questo modo è già uguale a
num
function cambia(dove){
 //num=qUrl.substr(qUrl.indexOf('pippo')+5,3); // estrapola i 3 caratteri
dopo la parola; //brutto: prende 3 caratteri...se arrivi a 1000 foto per
esempio? Non serve perché qUrl==num
 num=qUrl;
 if (num==ultima-1 && dove=='avanti')num=0; // controlla se ultima pagina
//cambio -1 in 0, perché la tua prima foto è 1
 if (num==1 && dove!='avanti') num=ultima;  // controlla se prima pagina
//qua ho cambiato 0 in 1 perché hai scritto che la prima foto è 1, non 0...
 num= (dove=='avanti')?eval(num)+1:eval(num)-1; // aumenta/diminuisce il num
pag
 // if (num<10) num='00'+num;   // inserisce gli eventuali 0
 // if (num<100 && num>9) num='0'+num;
 document.location.href='foto'+num+'.htm';
}
</script>
.....
-- 
"That until there is no longer first class
And second class citizens of any nation
Until the colour of a man's skin
Is of no more significance than the colour of his eyes
Me say war"
B.M. -- 

 serve a nulla)
Grazie mille, lo script funziona alla perfezione!!!
Grazie, ciao!!!
:o)))))
