Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2013
    Messaggi
    11

    Eliminare foto da array tramite funzione?

    codice:
     
    foto=new Array()
    foto[0]="foto1.jpg";
    foto[1]="foto2.jpg";
    foto[2]="foto3.jpg";
    foto[3]="foto4.jpg";
    foto[4]="foto5.jpg";
    foto[5]="foto6.jpg";
    
    function cancella()
         {
                 //devo cancellare foto[3]
         }
    Chi mi spiega come? :3

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    foto.splice(3,1);
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2013
    Messaggi
    11
    Ok grazie, e se dentro a quella function() c'è un if come posso fare per tornare alla alla funzione? ES :

    codice:
     
    function A()
         {
    
             if ( // ISTRUZIONI )
                  {
                          foto.splice(2,1)
                          
                           Torna a function A() 
                  }
         }
    Grazie e spero di essermi spiegato

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    636
    sei già nella function a

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2013
    Messaggi
    11
    Giustamente, faccio prima a farti vedere il codice
    codice:
    
    
    function A()
    {
    Ogni volta che clicca sull immagine prima esegue una ricerca a random

    var images = foto;
    var rnd = Math.floor(Math.random()*images.length);
    document.form1.original.src = images[rnd];


    if ( // ISTRUZIONI )
    {
    foto.splice(2,1)

    Torna a function A()
    }
    }

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2013
    Messaggi
    11
    Giustamente, faccio prima a farti vedere il codice
    codice:
    
     function A()
         {
          Ogni volta che clicca sull immagine prima cambia 
          un immagine a random
           
           
                 var images = foto;
                 var rnd = Math.floor(Math.random()*images.length);
    	     document.(nomeForm).(nameImmagine).src = images[rnd];
    
                Poi se l'immagine e' == foto[0] 
                       togli foto[1]
                 
                 
    
         }
    Questo è il mio problema, non riesco a capire come far capire che
    se l immagine è == foto[0] elimina foto[1]

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    636
    per eliminare l'immagine successiva a quella mostrata random usi
    codice:
    images.splice((rnd+1), 1);
    In questo modo se rnd +1 va oltre gli indici dell'array splice non fa niente.
    Potresti fare l'incremento circolare per ovviare a questo problema (sempre che sia un problema per quello che vuoi fare):
    codice:
    images.splice((rnd+1)%images.length, 1);
    Considera che così nel caso in cui resta una sola immagine vai ad eliminare l'immagine che hai appena visualizzato non la successiva. E al click successivo otterrai un bel 'undefined'.

    Quindi se ti interessa l'avanzamento circolare potresti prendere un'ultima accortezza e controllare prima che vi sia più di un elemento nell'array:
    codice:
    if(images.length > 1) images.splice((rnd+1)%images.length, 1);
    Non capisco a cosa serve tornare nella funzione a, 'a' dovrebbe essere la funzione che viene eseguita all'onclick sull'immagine quindi in a prendi un'immagine random, la visualizzi, cancelli la successiva.

    Per un esempio completo ti rimando qui

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2013
    Messaggi
    11
    Si esatto hai ragione bene funziona grazie mille

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.