Es iestatīju lapu ritināt uz augšu, kad tiek noklikšķināta poga. Bet vispirms es izmantoju if izteikumu, lai pārbaudītu, vai lapas augšdaļa nav iestatīta uz 0. Tad, ja tā nav iestatīta uz 0, es animēju lapu, lai ritinātu uz augšu.
var body = $("body");
var top = body.scrollTop() // Get position of the body
if(top!=0)
{
body.animate({scrollTop:0}, '500');
}
Tagad sarežģītākais ir animēt kaut ko pēc tam, kad lapa ir ritināta uz augšu. Nākamā doma ir - noskaidrot, kāda ir lapas pozīcija. Lai to noskaidrotu, es izmantoju konsoles žurnālu.
console.log(top); // the result was 365
Tas man deva rezultātu 365, es domāju, ka tas ir pozīcijas numurs, kurā es biju tieši pirms ritināšanas uz augšu.
Mans jautājums ir, kā man iestatīt pozīciju 0, lai es varētu pievienot vēl vienu animāciju, kas darbojas, kad lapa ir 0 pozīcijā?
Paldies!
Lai to izdarītu, varat iestatīt animēšanas komandai atpakaļsaukuma funkciju, kas tiks izpildīta pēc ritināšanas animācijas pabeigšanas.
Piemēram:
var body = $("html, body");
body.stop().animate({scrollTop:0}, 500, 'swing', function() {
alert("Finished animating");
});
Tur, kur ir šis brīdinājuma kods, varat izpildīt vairāk javascript, lai pievienotu papildu animāciju.
Arī 'swing' ir tur, lai iestatītu atvieglojumu. Lai iegūtu vairāk informācijas, skatiet http://api.jquery.com/animate/.
Tā vietā izmēģiniet šo:
var body = $("body, html");
var top = body.scrollTop() // Get position of the body
if(top!=0)
{
body.animate({scrollTop :0}, 500,function(){
//DO SOMETHING AFTER SCROLL ANIMATION COMPLETED
alert('Hello');
});
}
šim nolūkam var izmantot atpakaļsaukuma metodi
body.animate({
scrollTop:0
}, 500,
function(){} // callback method use this space how you like
);