Visualizzazione dei risultati da 1 a 5 su 5

Discussione: reload div con jquery

  1. #1

    reload div con jquery

    ciao a tutti, ho trovato questo script

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.0/jquery.min.js"></script>
    <script>
    var auto_refresh = setInterval(
    function()
    {
    $('#loaddiv').fadeOut('slow').load('show_mex.php') .fadeIn("slow");
    }, 5000);

    var toggleFx = function() {
    $.fx.off = !$.fx.off;
    };
    toggleFx();
    </script>


    poi nel body visualizzo il contenuto con
    <div id="loaddiv">
    </div>

    il file show_mex.php interroga un database e visualizza un elenco di record trovati. Questo elenco viene ricaricato ogni 5 secondi.

    Il mio problema è che avendo tanti record, magari scorro la pagina fino in fondo, e quando viene eseguito il refresh del div vengo ributtato in cima alla pagina.
    E' possibile evitare questa cosa ? cioè fare in modo che il div continui ad aggiornarsi/ricaricarsi ogni 5 secondi ma senza ributtarmi ogni volta in cima alla pagina ? ad esempio se sto leggendo un post in fondo alla pagina (e quindi con lo scroll tutto in basso), il div venga aggiornato lasciando lo scroll in fondo ?

    grazie a tutti

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    salva lo scrollTop e ripristinalo dopo il fade,
    usa funzioni in callback, altrimenti non hai speranza di controllare cosa succede e quando
    codice:
    var auto_refresh = setInterval(
    function(){
    	var el=$('#loaddiv'),
    	scrT=el.scrollTop();
    
    	el.fadeOut("slow",function(){
    		el.load('show_mex.php',function(){
    			el.fadeIn("slow",function(){
    				el.scrollTop(scrT);
    			});
    		})
    	})
    }, 5000);

  3. #3
    ciao e grazie per la risposta, lo script con le modifiche da te postato si comporta così :

    parte e non fa visualizzare niente e OK

    dopo 5 secondi fa visualizzare il record, dopo pochissimi secondi parte il fadeout e finito il fadeout tutti i record scompaiono per 1 secondo circa, poi ricompaiono per 1 secondo e riscompaiono per un secondo e così via praticamente ad intermittenza..

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    ma il principio di funzionamento l' hai stabilito tu, mica io:
    fade out, load, fade in dello stesso elemento, il tutto da far scattare rigorosamente ogni 5 secondi

    il problema era altro (mantenere lo scroll in posizione) e mi sembra di aver illustrato come risolverlo
    ciao

  5. #5
    Ciao, no, lo script iniziale funzionava in questo modo

    - niente visualizzato
    - fade in
    - compare il contenuto per 5 secondi
    - fade out
    - refresh
    - fade in e si riparte

    e tra il fadeout e il fadein passavano pochi millesimi di secondo

    con quello modificato

    - niente visualizzato
    - fade in, contenuto, fade out il tutto in un secondo
    - refresh, niente visualizzato, fade in, contenuto, fade out in un secondo (e poi parte il ciclo su questa fase)

    è diverso dal funzionamento iniziale.

    ed ho provato anche a scrollare ma al refresh mi ributta sempre in cima alla pagina.

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.