Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15

Discussione: Libro in js

  1. #1

    Libro in js

    Dovrei caricare in un iFrame diverse pagine sequenziali organizzate in capitoli. Ogni capitolo ha una pagina index con l'iframe in cui carica le pagine. Per l'elenco dei capitoli e dele pagine ho due array:

    //un array definisce l'elenco dei capitoli e l'url della pag index di ogni cap:

    var udLink = new Array();
    udLink[0] = "../UD0/index.htm";
    udLink[1] = "../UD1/index.htm";
    ecc...

    //array elenco delle pagine

    var pageLink = new Array();
    pageLink[0] = "./content/01.htm";
    pageLink[1] = "./content/02.htm";
    ecc...

    E una funzione mi permette di sfogliare avanti e indietro le pagine dell'array "pageLink" passando un valore 1/-1 alla variabile n, e definendo per ogni capitolo nella pagina index il numero di pagine del capitolo (pagine) e il numero del capitolo (ud_num):

    ------
    var indice = 0;

    function sequencer(n) {
    indice += n;
    if(indice < 0) location.href = udLink[ud_num-1]; //torna alla prima pagina del capitolo precedente
    if(indice >= pagine) location.href = udLink[ud_num+1];//"Dovrebbe" passare al capitolo successivo
    parent.iframe.location.href = pageLink[indice];
    }
    -----

    le pagine di ogni capitolo si navigano senza problemi, e anche il passaggio al capitolo precedente funziona, ma non riesco a passare a quello successivo (mi dà "undefined") . Dove sbaglio? :master:

  2. #2
    Può darsi che a quella rige non trova nessuna variabile pagine già settata?

  3. #3
    Non mi sembra...ho provato anche a sostituire quella variabile con un valore ma non funziona lo stesso, inoltre nella pagina ho un'altra funzione che usa la stessa variabile per stampare il numero di pagine del capitolo e funziona correttamente.

  4. #4

  5. #5

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Mi sembra molto difficile riuscire a trovare un errore a distanza.
    Smal ha suggerito un'ipotesi, ma per una diagnosi occorre vedere il paziente.

    Se lo script e` corto, puoi postarlo qui, altrimenti puoi postare un link alla pagina (se disponibile / accettabile da parte tua); in alternativa devi provare a fare un debug per conto tuo, inserendo degli alert opportuni nei punti critici dello script.

    Da quello che scrivi, posso pensare ad un errore di sintassi o un uso non corretto di qualche variabile.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #7
    Lo script è tutto nel mio primo post, e viene richiamato come file esterno. Le variabili le ho definite così:

    ud_num="1";
    pagine="4";

    anche queste in un secondo file esterno.

    Ho creato al volo una cartella, i files stanno qua: http://www.followup.it/test/UD1/index.htm

  8. #8
    Da qua: http://www.followup.it/test/UD2/index.htm puoi vedere che la funzione sequencer verso il capitolo precedente funziona, quindi la variabile ud_num dovrebbe essere ok, ma mi sembra che anche la variabile pagine sia letta correttamente (il menu a dx si genera in base a quella e funziona)

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Anzitutto ci sono vari errori, per cui i vari browser interpretano a modo loro.

    type="text/JavaScript" va scritto:
    type="text/javascript"

    location.href = ...
    window.location.href = ...

    ud_num="2";
    pagine="3";
    Queste non sono stringhe, sono numeri: se ci metti le virgolette fai fare un lavoro piu` lungo, e non sai il risultato:
    ud_num=2;
    pagine=3;

    Ricorda che
    "2" + 1 ==> "21"
    2 + 1 ==> 3

    Invece con il meno non succede, perche` non esiste l'operatore - per le stringhe

    Prova con questo, poi eventualmetne occorre ricostruire bene la logica del tutto, che ancora non ho compreso bene.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  10. #10
    Grazie Mich_! Il problema erano proprio le virgolette nella definizione delle variabili, anche se mi sembra strano che nella stessa pagina in una funzione vadano nell'altra no...misteri del browsing!

    Ho corretto anche gli altri errori. Per quanto riguarda type="text/JavaScript" bisogna sgridare DW, d'ora in poi queste parti di codice me le scriverò da solo. Per quanto riguarda il window davanti al location.href: ok, ma a cosa serve?

    "L'oscura logica del tutto": sono piuttosto nuovo in js (e si vede), probabilmente la stessa cosa si sarebbe potuta fare in modo più corretto/veloce ma non so come. Adesso funziona, ma se qualcuno ha consigli per migliorarla, ben vengano, non sono permaloso!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.