Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di Gelion
    Registrato dal
    Jul 2002
    Messaggi
    1,233

    Caricare immagini solo alla fine

    ho alcune immagini in mezzo all'html ma vorrei venissero caricate solo quando tutto il resto si è caricato.. è possibile creare questo vincolo?
    Se non è bello ciò che è bello figuriamoci ciò che è brutto...

  2. #2
    mmm a dire il vero È già così:

    il browser carica la struttura DOM (l'HTML insomma), la completa con i CSS importati nella pagina, e poi carica i Multimedia/part (Immagini, Video, Embed, etc) in ordine di inserimento nella pagina.

    Se vuoi qualcosa di particolare, sii più preciso.
    I DON'T Double Click!

  3. #3
    Utente di HTML.it L'avatar di Gelion
    Registrato dal
    Jul 2002
    Messaggi
    1,233
    dato che ho (invento) 10 immagini da 500kb nella pagina vorrei che solo la priam venisse caricata da sola subito e le altre solo dopo che TUTTO è stato caricato
    Se non è bello ciò che è bello figuriamoci ciò che è brutto...

  4. #4
    Cioè avere tipo l'immagine Loading e che le immagini si carichino in maniera asincrona DOPO il caricamento della pagina?
    I DON'T Double Click!

  5. #5
    Utente di HTML.it L'avatar di Gelion
    Registrato dal
    Jul 2002
    Messaggi
    1,233
    anche senza immagine di loading
    Se non è bello ciò che è bello figuriamoci ciò che è brutto...

  6. #6
    Ok, allora fai così: inserisci le immagini con una notazione diversa, mettendo il path all'immagine corretta nell'alt, anziché nel src, mentre nel src metti il path all'immagine di loading

    codice:
    [img]imgs/loading.gif[/img]
    [img]imgs/loading.gif[/img]
    [img]imgs/loading.gif[/img]
    [img]imgs/loading.gif[/img]
    [img]imgs/loading.gif[/img]
    [img]imgs/loading.gif[/img]
    Poi crei una funzione per generare degli oggetti Image con i quali caricare i path contenuti negli alt:

    codice:
    var imgs = [];
    var allImgs;
    window.onload = function(){
      allImgs = document.getElementsByTagName('img');
       for(i = 0; i < allImgs.length; i++){
          if(allImgs[i].className == 'Async'){
             var img = new Image();
             img.onload = function(){
                 for(j = 0; j < allImgs.length; j++){
                    if(this.src.indexOf(allImgs[j].alt) != -1){
                       allImgs[j].src = this.src;
                       break;
                    }
                 }
             }
             img.src = allImgs[i].alt;
          }
       }
    }
    Nota che per identificare le immagini da cambiare uso la classe "Async".

    Se hai domande sulla funzionalità fai pure.
    I DON'T Double Click!

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.