Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Non so se ci sono esempi "spicci" prova vedere se con "Ajax scroll" trovi qualcosa su google.
    In sintesi devi caricare le immagini impaginate con Ajax (da 0 a 20 pagina 1 da 21 a 40 pagina 2 etc...) all'evento scroll quando la barra raggiunge il bordo sotto partono le chiamate Ajax per caricare le pagine (immagini) successive.
    Spero si sia capito, se non trovi nulla su google boh.... ti consiglieri di rinunciare non mi sembra tu lo possa realizzare e spiegarti il processo sarebbe complesso.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Non c'ho capito molto ma l'evento scroll deve partire quando raggiungi il bordo in basso della pagina (per fare questo c'è un calcolo altezza pagina totale meno la barra e lo scroll in rete trovi)
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente bannato
    Registrato dal
    Apr 2009
    Messaggi
    530
    In JavaScript si possono fare tante cose e anche questa.
    Prima però volevo ricordarti del "vecchio" html: se assegni al Tag IMG anche gli Attributi WIDTH ed HEIGHT ed ovviamente li Valorizzi in accordo alle dimensioni dell' immagine, bene, la pagina saprà già quanto spazio e dove occuperà l' immagine ed andrà avanti a piazzare i contenuti (o i contenitori) successivi, testi e gli altri riquadri. Nel mentre, questi riquadri cominceranno a riempirsi con le immagini in caricamento, ma intanto la pagina si sarà già presentata nella sua struttura a video.

    Te lo dico e te lo faccio in esempio con gli Attributi, poi gli e-dotti grideranno ai CSS e gli Attributi si tramuteranno in Proprietà ...
    codice:
    <img border="0" width="500" height="320" src="gatto.jpg" alt="none">

  4. #4
    Quote Originariamente inviata da _Marco_87 Visualizza il messaggio
    Ho capito, ho già realizzato una soluzione funzionante con la funzione jquery "$(window).scroll(function(e){...".
    Funziona bene come effetto visivo, ma mi chiedo se è corretto che la funzione si attvi in ogni punto della pagina, perchè $(window).scroll è una funzione che agisce di continuo, per controllare la posizione in cui l'utente si trova nella pagina: non esiste un modo per sapere semplicemente se un contenitore è diventato 'visibile', ovvero se adesso scorendo la pagina possiamo vederlo? La soluzione funziona, ma se c'è di meglio...
    $(window).scroll è una buona soluzione, il fatto che monitori costantemente lo scroll della pagina non implica necessariamente uno "spreco di risorse", naturalmente le istruzioni al suo interno è bene che vengano eseguite solo in determinati casi, quando ad esempio lo scoll raggiunge un certo ammontare.
    Esiste un plug-in di jQuery per il ritardare il caricamento delle immagini, si chiama lazy load, se ti può interessare.

  5. #5
    Utente bannato
    Registrato dal
    Apr 2009
    Messaggi
    530
    ok, facci sapere; io conosco superficialmente le applicazioni JQuery ma seguo volentieri.
    Comunque, farebbe al tuo caso uno script ad hoc ma non posso prendermi l' impegno di portartelo avanti: dedico molto meno tempo ai forum, ormai.

    Faccio una cosa spartana di partenza, dove di immagini ne carico metà subito e metà dopo.
    Supponiamo che le immagini siano una diecina e di w500xh300 px e non prevediamo di rilevare l' altezza della finestra del client: stimiamo che ormai girano monitor da 800x600 come 3000x2000 abbastanza in uso, e diciamo solo che con 5 immagini copriamo anche i grandi senza oberare il download con tutte e 10.

    Appena l' user va a scrollare (mouse, rotella o freccette), JavaScript assegna un url (preso dall' Array) ai SRC lasciati vuoti e questi Tag IMG le caricano senza dir altro.

    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head><title></title>
    
    <script type="text/javascript">
    
    urls = new Array('0', '1', '2', '3', '4', '5', 'foto.jpg', 'foto2.jpg', 'foto.gif', 'sottocartella/img5.jpg', 'mypic.jpeg', '11');
    
    function caricaAltre(){
    
     for(n=6; n<11; n++){
     document.getElementById("im" + n).src=urls[n];
     document.getElementById("im" + n).alt=urls[n];
     }
    
     document.title=window.document.body.scrollTop; //visualizza sulla barra del browser/scheda l' ammontare dello scroll
                                                    //può non funzionare, dipende dal tipo di browser e/o dal doctype
    }
    </script>
    
    <style type="text/css">
     img {margin: 2px; border: 1px solid blue; width: 500px; height: 80px;}
    </style>
    
    </head><body onscroll="caricaAltre();">
    
    
    <img src="fissa1.jpg"><br>
    <img src="fissa2.jpg"><br>
    <img src="fissa3.jpg"><br>
    <img src="fissa4.jpg"><br>
    <img src="fissa5.jpg"><br>
    
    <img id="im6" src=""><br>
    <img id="im7" src=""><br>
    <img id="im8" src=""><br>
    <img id="im9" src=""><br>
    <img id="im10" src=""><br>
    
    </body>
    </html>

    Nota Bene: nel test, trovi però ridotte le img height a 80px per "vedere meglio" il tutto.

    A cose fatte, possiamo prevenire il ripetersi dell' invoco ad ogni minimo scroll, inserendo a fine funzione un' istruzione del tipo:
    codice:
    window.document.body.onscroll="";
    e difatti con questa vedi che il valore di scrollTop sulla scheda non scorre più.


    L' evoluzione del progetto, consisterebbe nel programmare ulteriori step di caricamento; e lo scrollTop dovrà in qualche modo essere rilevato con una buona formula cross-browser.
    Ultima modifica di Enzaccio; 20-07-2014 a 23:24

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.