Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    riempire celle in modo random

    Ho una tabella "scorrevole" con tot celle inizialmente vuote, ognuna di esse ha un ID con numero progressivo.
    codice:
    <TABLE summary="" cellpadding="0" cellspacing="2px" width="100%" bgcolor="#CCCCCC" align="center">
    <TR><TD ID="Agenzia0"></TD></TR>
    <TR><TD ID="Agenzia1"></TD></TR>
    <TR><TD ID="Agenzia2"></TD></TR>
    <TR><TD ID="Agenzia3"></TD></TR>
    <TR><TD ID="Agenzia4"></TD></TR>
    <TR><TD ID="Agenzia5"></TD></TR>
    <TR><TD ID="Agenzia6"></TD></TR>
    <TR><TD ID="Agenzia7"></TD></TR>
    <TR><TD ID="Agenzia8"></TD></TR>
    <TR><TD ID="Agenzia9"></TD></TR>
    </TABLE>
    All'apertura della pagina "popolo" (riempio) le celle
    e assegno al testo di ogni cella un link (a pagine numerate nella stessa sequenza: NS_agenzia_0, NS_agenzia_1, ecc.),
    il tutto tramite un array
    codice:
    <!-- 
    function tabellaAgenzie() {
    // definisco l'array che scrive il contenuto di ogni cella da 0 a 22
    /*  ATTENZIONE per inserire i nomi veri delle agenzie modificare l'array
        inserendo il nome corrispondente es.:Agency[0]="CasaNord";  */
    var Agency = new Array();	// array nomi agenzie
    Agency[0]="NomeAgenzia-0";
    Agency[1]="NomeAgenzia-1";
    Agency[2]="NomeAgenzia-2";
    Agency[3]="NomeAgenzia-3";
    Agency[4]="NomeAgenzia-4";
    Agency[5]="NomeAgenzia-5";
    Agency[6]="NomeAgenzia-6";
    Agency[7]="NomeAgenzia-7";
    Agency[8]="NomeAgenzia-8";
    Agency[9]="NomeAgenzia-9";
    Agency[10]="NomeAgenzia-10";
    
    var agLung=Agency.length;	// lunghezza dell'array - numero di celle
    
    var numAg=0;	// inizializzo la variabile numAg
    /* popolazione delle celle */
    for (numAg=0; numAg'+Agency[numAg]+''; // scrivo nelle celle il nome dell'agenzia in base all'array
    } // fine 1° ciclo for
    
    var numLink=0;	// inizializzo la variabile numLink
    /* assegnazione dei link corrispondenti */
    for (numLink=0; numLink<agLung; numLink++){  // inizio 2° for
    LinkAgency='Agenzie/NS_agenzia_'+numLink+'.htm'; // link corrispondende
    LinkID='LinkAgenzia'+numLink;					
      document.getElementById(LinkID).href=LinkAgency;
    } // fine 2° for
    } // fine funzione
    tabellaAgenzie();   // attivo funzione
    // -->
    Ora il problema è che ho bisogno di popolare le celle con i nomi delle agenzie ed i link corrispondenti in maniera random in modo, cioè,
    che ad ogni apertura di pagina compaiano in un ordine diverso, casuale,
    ma ovviamente devono esserci tutte, ed inoltre è scontato che il numero di celle e cioè di agenzie può aumentare.
    Ho provato un po' di metodi random ma senza successo. Aiuto! Grazie.
    Luxx (°)
    Chi sa dica, chi non sa chieda.

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    ciao Luxx, come mai 2 cicli quando potresti scrivere direttamente nel primo anche l' href corretto?
    codice:
    <!-- 
    function tabellaAgenzie() {
    // definisco l'array che scrive il contenuto di ogni cella da 0 a 22
    /*  ATTENZIONE per inserire i nomi veri delle agenzie modificare l'array
        inserendo il nome corrispondente es.:Agency[0]="CasaNord";  */
    
    var Agency = new Array();	// array nomi agenzie
    Agency[0]="NomeAgenzia-0";
    Agency[1]="NomeAgenzia-1";
    Agency[2]="NomeAgenzia-2";
    Agency[3]="NomeAgenzia-3";
    Agency[4]="NomeAgenzia-4";
    Agency[5]="NomeAgenzia-5";
    Agency[6]="NomeAgenzia-6";
    Agency[7]="NomeAgenzia-7";
    Agency[8]="NomeAgenzia-8";
    Agency[9]="NomeAgenzia-9";
    
    var agLung=Agency.length;	// lunghezza dell'array - numero di celle
    var rndArr=new Array(agLung);
    
    /* popolazione delle celle */
    for (var numAg=0; numAg'+Agency[rndNum]+'';
    		rndArr[rndNum]=''
    	}
    	else numAg--
    
    } // fine ciclo for
    } // fine funzione
    tabellaAgenzie();   // attivo funzione
    // -->

  3. #3
    ciao Luxx, come mai 2 cicli quando potresti scrivere direttamente nel primo anche l' href corretto?
    Perchè non sono abbastanza bravo, è già tanto se ho fatto quell'array per "popolare" le celle!

    Grazie Xinod, funziona ottimamente.

    Ora proverò ad inserire un'ulteriore condizione per far sì che se il numero è superiore a X il link sia sempre lo stesso, per esempio una pagina di invito all'adesione, visto che per ora le agenzie saranno poche. Se non riesco ti faccio un fischio.
    Grazie.
    Luxx (°)
    Chi sa dica, chi non sa chieda.

  4. #4
    Up
    Risolto, senza traumi, invece di impelagarmi in condizioni, ho ridotto l'array e ho messo nome e link fissi nelle celle ancora "disponibili".
    Poi allungo di nuovo l'array e cambio la cella man mano che arrivano le altre agenzie.

    Ciao!
    Luxx (°)
    Chi sa dica, chi non sa chieda.

  5. #5
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649


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.