Visualizzazione dei risultati da 1 a 4 su 4

Discussione: precaricare immagini

  1. #1
    Utente di HTML.it L'avatar di eremiss
    Registrato dal
    Sep 2003
    Messaggi
    212

    precaricare immagini

    ciao, devo costruire uno script un po particolare. Devo fare una carrelleta di immagini in cui viene visualizzata la successiva solo dopo che è stata precaricata, in modo da comparire subito al posto della precedente. Siccome sono parecchie immagini non posso precaricarle tutte all'apertura della pagina per esempio mettenedole in cache con un array image(). Sapreste indicarmi uno script del genere o qualche consiglio per costruirlo?!?! :sexpulp:
    il mattino ha l'oro in bocca,il mattino ha l'oro in bocca,il mattino ha l'oro in bocca,il mattino ha l'oro in bocca,il mattino ha l'oro in bocca,il mattino ha l'oro in bocca,il mattino ha l'oro in bocca,

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Il precaricamento avviene con le istruzioni:
    var oggimm = new Image();
    oggimm.src = "nomefile.gif";

    Se hai un vettore con tutti i nomi (stringhe) ed un vettore per contenere tutti gli oggetti, puoi fare una cosa di questo tipo, al momento in cui carichi l'immagine precedente:
    codice:
    var nomeimm = new Array("primaimmagine.gif", "secondaimm.gif", ...);
    var oggimm = new Array();
    oggimm[0] = new Image();
    oggimm[0].src = nomeimm[0].src; //precaricam prima imm.
    
    var num = 0;
    
    function shownext() {
      // mostra immagine successiva
      document.images['NOME_TAG_IMG'].src = oggimm[num].src;
      num++; // increm. contatore
      if(num>nomeimm.length) alert("arrivato alla fine");
      oggimm[num] = new Image();
      oggimm[num].src = nomeimm[num].src;  // precaricam imm succ.
    }
    Sarebbe utile anche un controllo per non lasciar proseguire se il caricamento dell'immagine successiva non e` completo.

    Ciao
    Michele
    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 eremiss
    Registrato dal
    Sep 2003
    Messaggi
    212
    esatto a me serve proprio il contollo per non andare oltre quando l'immagine successiva non è completa come faccio?!?!
    il mattino ha l'oro in bocca,il mattino ha l'oro in bocca,il mattino ha l'oro in bocca,il mattino ha l'oro in bocca,il mattino ha l'oro in bocca,il mattino ha l'oro in bocca,il mattino ha l'oro in bocca,

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Intanto prova ad implementare quello: io sono per la politica dei piccoli passi in programmazione.

    Poi potrebbe essere una cosa di questo tipo, ma non la ho mai provata:
    codice:
    var finito = true;
    function shownext() {
      if(!finito) {
        alert("aspetta un attimo: devo finir di caricare");
        return false;
      }
      // mostra immagine successiva
      document.images['NOME_TAG_IMG'].src = oggimm[num].src;
      num++; // increm. contatore
      if(num>nomeimm.length) alert("arrivato alla fine");
      finito = false;
      oggimm[num] = new Image();
      oggimm[num].onload = function{finito=true;}
      oggimm[num].src = nomeimm[num].src;  // precaricam imm succ.
    }
    Se qualche persona piu` esperta di me (penso ai ragazzi di Wedev, ad esempio) potesse darci un'occhiata ...

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

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.