Domanda

La pagina deve essere fatta scorrere dopo aver fatto clic sul collegamento con ID (lascia che sia #link).

Ecco il mio codice, che non funziona :

$(document).ready(function(){
    $("#link").click(function () { 
        $(this).animate({ scrollTop: 2000 }, 'slow'); 
    });
});

Ma questo funziona , dopo che la pagina si carica scorre lentamente fino alla fine della pagina:

$(document).ready(function() {
    $('html, body').animate({ scrollTop: 6000 }, 'slow'); 
});

L'altezza del corpo è 6000px.

È stato utile?

Soluzione

Nel tuo primo esempio, stai impostando lo scrollTop dell'elemento link reale che non ha nulla al suo interno da scorrere. (nessun overflow)

$(document).ready(function(){
    $("#link").click(function () { 
        $("body").animate({ scrollTop: 2000 }, 'slow'); 
    });
});

È una spiegazione abbastanza valida di https://developer.mozilla.org/En /DOM/Element.scrollTop

Altri suggerimenti

Sembra che tu stia cercando di animare "questo" quale sarebbe il link!

Dovresti invece provare $ (window) .animate! o forse anche documento, scusa non sono sicuro!

prova $ ('html, body'). animate per supportare tutti i browser

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top