Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    21

    funzione di navigazione

    devo fare una funzione che fa le seguenti operazioni:
    si prende la location di un altro frame
    trova il nome del file e butta il resto
    trova questa stringa all'interno di un array di 64 elementi
    fa navigare il frame di cui sopra al precedente o al successivo.

    ho iniziato a farla ma purtroppo non capisco l'errore che mi da...

    codice:
    <script type="text/javascript">
    	var doveOra;
    	var dove;
    	var nomeFile;
    	
    	function movePrev(){
    		doveOra = parent.contents.location;
    		dove = doveOra.split('\\');
    		nomeFile = dove[dove.length];
    		alert (nomeFile);
    	}
    </script>
    qualsiasi consiglio sara' benvenuto.

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    21
    Mich_ grazie e mannaggia a te.
    sono riuscito a trovare un paio di tue risposte che mi hanno risolto il problema, solo che erano frammentate e ho dovuto cercare parecchio.

    comunque per ora sono arrivato a questo punto e pare che funzioni

    codice:
    function trova(){
      var doveOra = parent.contents.location.href;
      doveOra = doveOra.replace(/\\/g, "/");
      var dove = doveOra.split(/[\\\/]/); 
      var nomeFile = dove[dove.length-1].split(".");
      return nomeFile[0];
    }
    mi ritorna il nome della pagina che sto vedendo senza estensione.
    ora passo alla creazione e alla ricerca dell'array.

    i consigli sono ancora utili...

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Ecco un primo spunto per proseguire:
    codice:
    function movePrev(){
      doveOra = parent.contents.location.href;
      dove = doveOra.split(/[\\\/]/); // separa secondo / o \
      nomeFile = dove[dove.length];
      alert (nomeFile);
    
      for(var i=0; i<array.length; i++) {
      if(nomefile == array[i]) {
        index = i;
        break;
      }
      
    ... 
    }
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    21
    c'e' un modo per creare un array dal contenuto di una cartella?

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    21
    ecco il risultato delle mie fatiche...


    codice:
    	var documenti = new Array ("menu", "01_01", "01_02", "02_01_01",
     "02_01_02", "02_01_03", "02_01_04",
     "02_01_05", "02_01_06", "02_01_07",
     "02_02_01","02_02_02","02_02_03","02_02_04")
    
    function trova(){
     var temp = parent.contents.location.href;
     temp = temp.replace(/\\/g, "/");
     var dove = temp.split(/[\\\/]/); 
     var nomeFile = dove[dove.length-1].split(".");
     for (var i=0; i<documenti.length; i++) { 
      if (documenti[i]==nomeFile[0]){
       break;
      } 
     }
     return i;
    }
    	
    function movePrev(){
     doveOra = trova();
     if (doveOra != 0) {
      if (doveOra == 1){
       parent.contents.location.href = documenti[0]+ ".htm";
      }else {
       parent.contents.location.href = 
         "docs/" + documenti[doveOra -1] + ".pdf";
      }
     }
    }
    
    function moveSucc(){
     doveOra = trova();
     if (doveOra != documenti.lenght-1) {
      parent.contents.location.href = 
        "docs/" + documenti[doveOra +1] + ".pdf";
     }
    }
    Grazie Mich_
    mi sei stato indispensabile!!!

    (certo riuscissi a creare l'array dinamicamente...)

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Originariamente inviato da moonglum
    c'e' un modo per creare un array dal contenuto di una cartella?
    NO!

    Js non ha accesso ai dati del server (lavora sul client) e non ha accesso ai dati sul client (violazinoe di protezione).
    Puoi creare una array da far digerire al JS con un linguaggio lato server (ASP, PHP, CGI, ...).

    Nota: Questa linea
    temp = temp.replace(/\\/g, "/");
    non serve: ingfatti lo split lo fa gia` sia su / che su \ con la regexp usata.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    21
    si avevo letto questa cosa ma prima di trovarla non mi funzionava.
    per cui anche se e' ridondante non importa )

    funziona e cio' basta...

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 © 2025 vBulletin Solutions, Inc. All rights reserved.