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

Discussione: Dove sbaglio? Random.

  1. #1
    Utente di HTML.it L'avatar di pariri
    Registrato dal
    Jul 2003
    Messaggi
    1,470

    Dove sbaglio? Random.

    Ho questo random che teoricamente mi dovrebbe randomizzare 3 img diverse, però non funziona

    <!--
    var immagini=new Array();

    immagini[0]= new Array("img01.jpg");
    immagini[1]= new Array("img02.jpg");
    immagini[2]= new Array("img03.jpg");
    ecc,...
    immagini[45]= new Array("img46.jpg");

    function RandomImage()
    {
    var index=Math.floor(Math.random()*immagini.length);

    document.images['giraa'].src=immagini[index] [0];
    document.images['girab'].src=immagini[index] [1];
    document.images['girac'].src=immagini[index] [2];
    }

    Poi richiamo così:
    [img][/img]
    [img][/img]
    [img][/img]

    Perché non va!


    Grazie.

    :::::::::::::::::::::::::::::::::::::::::::::::::: ::

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    C'e` un errore nell'impostazione della matrice: la tua matrice e` 45 x 1, mentre nello script ne adoperi una 45 x 3:

    immagini[0]= new Array("img01a.jpg","img01b.jpg","img01c.jpg");
    immagini[1]= new Array("img02a.jpg","img02b.jpg","img02c.jpg");
    immagini[2]= new Array("img03a.jpg","img03b.jpg","img03c.jpg");
    ...
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Utente di HTML.it L'avatar di pariri
    Registrato dal
    Jul 2003
    Messaggi
    1,470
    Scusami, ma:

    immagini[0]= new Array("img01a.jpg ","img01b.jpg","img01c.jpg");
    immagini[1]= new Array("img02a.jpg","img02b.jpg","img02c.jpg");
    immagini[2]= new Array("img03a.jpg","img03b.jpg","img03c.jpg");

    Io non ho l'img01a.jpg, ecc... e si img01.jpg, ecc ...!

    La cosa è che ho bisogno di mettere 3 random in una pagina!


    Grazie.

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Allora spiegati meglio.
    Hai una lista di immagini (45 nel tuo esempio) e da questa devi tirar fuori tre immagini a caso (diverse) ?
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Non se so molto, ma gli array vengono creati con una serie di file, non con uno solo. Perché creare 3 array per 3 immagini? Non ne serve uno solo?

  6. #6
    Utente di HTML.it L'avatar di pariri
    Registrato dal
    Jul 2003
    Messaggi
    1,470
    Esatto Mich_!
    Sono 45 img e devo in 3 posizioni diverse in una pagina
    fare girare queste img che ovviamente devono essere diverse una dal altra!

    graazie.

  7. #7
    A questo punto io farei tre aray sì, ma in cui ognuno richiama una di un gruppo di 15 immagini, se così può andar bene.

    <!--
    var immagini=new Array();

    immagini[0]= new Array("img01.jpg","img02.jpg"..."img15.jpg");
    immagini[1]= new Array("img16.jpg"..."img30.jpg");
    immagini[2]= new Array("img31.jpg"..."img46.jpg");
    in questo modo ognuno degli array ha più immagini tra cui scegliere e ne verrà selezionata una diversa ogni volta, circa.

  8. #8
    Utente di HTML.it L'avatar di pariri
    Registrato dal
    Jul 2003
    Messaggi
    1,470
    E poi ilresto va bene?:

    function RandomImage()
    {
    var index=Math.floor(Math.random()*immagini.length);

    document.images['giraa'].src=immagini[index] [0];
    document.images['girab'].src=immagini[index] [1];
    document.images['girac'].src=immagini[index] [2];
    }

    Poi richiamo così:
    [img][/img]
    [img][/img]
    [img][/img]


    Grazie.

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Io interpreteri in un modo diverso.

    Fai un unico vettore, contentente i nomi delle immagini:
    codice:
    var immagini=new Array();
    
    immagini[0]= "img01.jpg";
    immagini[1]= "img02.jpg";
    ....
    
    // trovi gli indici delle tre immagini:
    var index1 = -1;
    var index2 = -1;
    var index3 = -1;
    
    index1 = Math.floor(Math.random()*immagini.length);
    do {
    index2 = Math.floor(Math.random()*immagini.length);
    } while(index1 == index2);
    do {
    index3 = Math.floor(Math.random()*immagini.length);
    } while(index3==index2 || index3==index2);
    
    // infine attribuisci i nomi alle rispettive immagini:
    document.images['giraa'].src=immagini[index1];
    document.images['girab'].src=immagini[index2];
    document.images['girac'].src=immagini[index3];
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  10. #10
    Utente di HTML.it L'avatar di pariri
    Registrato dal
    Jul 2003
    Messaggi
    1,470
    Originariamente inviato da Mich_
    Io interpreteri in un modo diverso.

    Fai un unico vettore, contentente i nomi delle immagini:
    codice:
    var immagini=new Array();
    
    immagini[0]= "img01.jpg";
    immagini[1]= "img02.jpg";
    ....
    
    // trovi gli indici delle tre immagini:
    var index1 = -1;
    var index2 = -1;
    var index3 = -1;
    
    index1 = Math.floor(Math.random()*immagini.length);
    do {
    index2 = Math.floor(Math.random()*immagini.length);
    } while(index1 == index2);
    do {
    index3 = Math.floor(Math.random()*immagini.length);
    } while(index3==index2 || index3==index2);
    
    // infine attribuisci i nomi alle rispettive immagini:
    document.images['giraa'].src=immagini[index1];
    document.images['girab'].src=immagini[index2];
    document.images['girac'].src=immagini[index3];



    Perfetto!!!
    Grazie Mich_

    :::::::::::::::::::::::::::

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.