2012-03-19 11 views
10

Esiste comunque la possibilità di farlo in modo che la pagina scorra automaticamente verso l'alto dopo che il contenuto è stato caricato (tramite Ajax)?Scorrere verso l'alto dopo caricamento del contenuto Ajax

Questo è il codice che ho per la visualizzazione del contenuto:

$(document).ready(function() { 
    var my_layout = $('#container').layout(); 
    $("a.item_link").click(function() { 
     $("#loader").fadeIn(); 

     feed_url = $(this).attr("href"); 
     $.ajax({ 
      type: "POST", 
      data: "URL=" + feed_url, 
      url: "view.php", 
      success: function (msg) { 
       $("#view-area").html(msg); 

       $("#loader").fadeOut(); 
      } 
     }); 
     return false; 
    }); 
}); 

Così, dopo il 'view-zona' ha caricato il contenuto posso fare la pagina di scorrimento automatico in cima?

risposta

21

basta usare la funzione di scorrimento

scrollTo(0); 

Se si desidera che il jQuery, quindi here is a good example with smoothing :)

Dal link:

$('html, body').animate({ scrollTop: 0 }, 0); 
//nice and slow :) 
$('html, body').animate({ scrollTop: 0 }, 'slow'); 

Per dirla nel codice

... 
     success: function (msg) { 
      $("#view-area").html(msg); 
      $("#loader").fadeOut(); 
      //Put code here like so 
      $('html, body').animate({ scrollTop: 0 }, 0); 
     } 
+0

Aggiornamento la mia risposta –

+0

Grazie, ha funzionato perfettamente! Ho appena inserito il codice tra $ ("# view-area"). Html (msg); e $ ("# loader"). FadeOut(); e ha funzionato! Grazie. –

1

È possibile eseguire $(window).scrollTop(0);

+0

Dove posso inserire tutto ciò che c'è nel codice? –

+0

@TheTechBox subito dopo '$ (" # loader "). FadeOut();' – Icarus

+0

Impressionante! Funziona come un fascino! Thnx per il grande suggerimento!: D – drpelz

1

Tutte le richieste ajax hanno un argomento di callback, quindi utilizzare scrollTop(0). Controlla la documentazione di jQuery su come utilizzare i callback ajax.

Problemi correlati