Funzione per navigare in pagine numerate

fante1998

Nuovo Utente
25 Mag 2006
6
0
0
Salve a tutti,

Sto costruendo un sito statico con tantissime pagine divise però in poche tipologie.
Le tipologie sono libri, penne, gomme, e qualche altra.

Le pagine sono:

libri_01.htm
libri_02.htm
libri_03.htm
libri_04.htm
...
penne_01.htm
penne_02.htm
penne_03.htm
penne_04.htm
...
gomme_01.htm
gomme_02.htm
gomme_03.htm
gomme_04.htm
...


In tutte le pagine ho due tasti di navigazione che vorrei andassero alla pagina precedente e successiva (all'interno della stessa tipologia).

Per esempio, sul tasto AVANTI avrei bisogno di una funzione che leggesse la stringa dell'url corrente, trovasse la cifra (due caratteri) compresa tra "libri_" e ".htm", la incrementasse di 1 e mi fornisse così l'url della nuova pagina da richiamare.

Per esempio, nella pagina libri_06.htm se clicco il tasto avanti devo andare alla pagina libri_07.htm

Ovviamente per il tasto INDIETRO la stessa cosa: basta decrementare di 1.

Help! purtroppo non sono un genio in javascript :confused: :mad: :confused:
 

daviduccio

Moderatore
5 Ago 2004
1.114
0
0
35
Sicilia
www.daviduccio.it
Ti ho fatto questa funzione, dovrebbe andar bene!

<script language="javascript">
totpagine=15;
function scorripagine(nomebase,azione) {

//nomebase è il nome della pagina prima di _ ES:libri che viene da libri_01.htm
//azione è l'azione che si vuole effettuare, avanti o indietro

var url = document.location;
url=String(url);
pos=url.indexOf(".htm");
numero=url.substr(pos-2,2);

zero="";

if (numero.substr(0,1) == 0) {
zero="0";
}
numero=Number(numero);


succ=numero+1;
prec=numero-1;

if (succ>totpagine) {
succ=succ-1;
}
if (prec==0) {
prec=1;
}


succ=nomebase+"_"+zero+succ+".htm";
prec=nomebase+"_"+zero+prec+".htm";

if (azione=="avanti") {
document.location.href=succ;
}
if (azione=="indietro") {
document.location.href=prec;
}

}
</script>


e si usa così


onclick="scorripagine('libri','avanti')"


per andare avanti e

onclick="scorripagine('libri','indietro')"

per andare indietro


Occhio ad aggiornare la variabile totpagine altrimenti se ne hai di più non ti ci fa andare, questo serve a non andare oltre alle pagine esistenti e cadere in errore!

Attento che le pagine devono avere estenzione .htm

ci sono 2 righe di commento che servono per capire come funziona la funzione.

Spero di esserti stato utile, e ciao! :byebye: