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

    problemi con slideshow e preloader

    Salve a tutti.
    Devo realizzare uno slideshow all'interno di una pagina web. Ho utilizzato un'estensione di Dreamweaver che crea uno slieshow per mezzo di javascript. Il problema che ho è che lo script carica tutte le immagini in una volta prima di aprire la pagina, che se risulta un po' fastidioso adesso che le immagini sono 12 sarà intollerabile quando dovrò inserire le altre 120 foto che ho pronte.
    Mi piacerebbe poter fare caricare allo script le prime 10, dare la possibilità di vederle e nel frattempo caricare le successive 10 e così via.
    Mi piacerebbe inoltre creare una specie di preloader come si fa in flash anche se non segnala il progressivo caricamento della pagina. Mi basta che intrattenga l'utente (basta una scritta "loading") e gli faccia visualizzare la pagina tutta in una volta.

    Potreste aiutarmi?
    Grazie in anticipo e scusate per la lunghezza del post!

    Posto il codice:


    <script language="JavaScript" type="text/JavaScript">
    <!--
    function MM_swapImgRestore() { //v3.0
    var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
    }

    function MM_preloadImages() { //v3.0
    var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
    }

    function MM_findObj(n, d) { //v4.01
    var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
    if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
    for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
    if(!x && d.getElementById) x=d.getElementById(n); return x;
    }

    function MM_swapImage() { //v3.0
    var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
    if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
    }
    //-->
    </script>
    il mio weblog: http://www.pitruzzello.org

  2. #2
    Utente di HTML.it L'avatar di iguane
    Registrato dal
    Sep 2001
    Messaggi
    1,633
    ti propongo invece un alternativa...

    Non fare il preloading delle immagini, tu hai la tua bella pagina con le fotine, cliccando sulla foto uno metti una scritta "loading..." che comparirà fino a quando l'immagine non è caricata.

    in questo modo non obblighi l'utente al caricamento di immagini che non interessano...

    ...I'm insane in the brain...

  3. #3
    No io non ho la pagina con le fotine.
    La pagina in questione è questa.
    il mio weblog: http://www.pitruzzello.org

  4. #4
    Utente di HTML.it L'avatar di iguane
    Registrato dal
    Sep 2001
    Messaggi
    1,633
    Lui qua già fa il controllo per vedere se l'immagine è caricata.

    Potresti mettergli un else ti scrivo il pezzo in grassetto

    function nextSlide() {
    if(document.images) {
    currentslide++;
    if(currentslide>maxslides) currentslide=1;
    document.images['slide'].src=slide[currentslide].src;
    }else{

    document.images['slide'].src='load.gif'
    }

    }

    dove load.gif è un immagine con la scritta loading ma gari animata ma che deve essere super leggere...oppure al posto di un immagine gli metti una scritta... questo a decisione tua...

    ...I'm insane in the brain...

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.