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

    caricare nuovi contenuti al fine scroll di pagina stile facebook

    questo script mi carica nuovi contenuti quando l'utente scrolla la pagina fin giù,

    il problema è che mi esegue la funzione lastPostFunc() sempre 2 volte invece di 1
    non capisco proprio perchè....è impossibile
    Codice PHP:


    <script type="text/javascript">
    $(
    window).scroll(function(){
            if  ($(
    window).scrollTop() == $(document).height() - $(window).height()){
               
    lastPostFunc();
            }
    });




    function 
    lastPostFunc()
    {
        $(
    '#loaded_max').val(10);
        $(
    'div#lastPostsLoader').html('[img]{{ asset('template1/images/25-1.gif') }}[/img]');
        $.
    get("load.php?start="+$('#loaded_max').val(),    

        function(
    data){
            $(
    '#loaded_max').val(parseInt($('#loaded_max').val())+10);
            if (
    data != "") {
            $(
    '#listaMessaggi').append(data);      
            }
            $(
    'div#lastPostsLoader').empty();
        });
    };

    </script> 
    www.infrattoni.com
    Videochat & News sempre Fresche!
    https://www.facebook.com/Infrattoni.VideoChat

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Potrebbe essere perché lanci la funzione al click (di un tasto) questa la inserisce ma cosi facendo aumenti lo scroll della pagina e scatta la funzione $(window).scroll.
    E' un ipotesi senza vede nulla online e poter fare dei test si possono solo fare congetture
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    metto un altro script che mi sembra leggermente più valido

    Codice PHP:
    <script type="text/javascript">
    var 
    richiesta 5;
        $(
    window).scroll(function(){
            if  ($(
    window).scrollTop() == $(document).height() - $(window).height()){
               
    lastPostFunc();
            }
    }); 

    function 
    lastPostFunc() {
        
        $.
    get("load.php?start="+richiesta, function(loaded){
            if(
    loaded != ''){
                $(
    '#listaMessaggi').append(loaded);
                
    richiesta richiesta 5;
                }
                    
                    });
        
        }
    </script> 


    allora lo script funziona benissimo, scorro verso il basso e mi carica nuovi elementi.

    il problema sorge quando sto con lo scroll della pagina tutto in basso e aggiorno,
    in pratica mi esegue la funzione tutte le volte fino ad arrivare a quell'altezza ( fin qui tutto bene)
    il problema è che proprio in questa occasione mi esegue l'incremento di 5 per 2 o 3 volte

    200 OK
    263ms
    /profile/ (riga 456)
    GET http://www.miosito.dev/load.php?start=5 <---------------------

    200 OK
    821ms
    jquery-latest.js (riga 8416)
    GET http://www.miosito.dev/load.php?start=5 <---------------------

    200 OK
    1.87s
    jquery-latest.js (riga 8416)
    GET http://www.miosito.dev/load.php?start=5 <---------------------

    200 OK
    1.76s
    jquery-latest.js (riga 8416)
    GET http://www.miosito.dev/load.php?start=10

    200 OK
    1.02s
    jquery-latest.js (riga 8416)
    GET http://www.miosito.dev/load.php?start=15

    200 OK
    1.48s
    jquery-latest.js (riga 8416)
    GET http://www.miosito.dev/load.php?start=20

    200 OK
    1.93s
    jquery-latest.js (riga 8416)
    GET http://www.miosito.dev/load.php?start=25
    www.infrattoni.com
    Videochat & News sempre Fresche!
    https://www.facebook.com/Infrattoni.VideoChat

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 © 2026 vBulletin Solutions, Inc. All rights reserved.