我将页面设置为单击按钮时滚动到顶部。但首先,我使用了一条if语句来查看页面的顶部是否没有设置为0。如果不是0,我会让页面滚动到顶部。
var body = $("body");
var top = body.scrollTop() // Get position of the body
if(top!=0)
{
body.animate({scrollTop:0}, '500');
}
现在棘手的部分是在页面滚动到顶部后进行动画处理。因此,我的下一个想法是,找出页面位置。所以我使用控制台日志来找出答案。
console.log(top); // the result was 365
我得到的结果是365,我猜这是我在滚动到顶部之前的位置数字。
我的问题是,如何将位置设置为0,以便在页面为0时添加另一个运行的动画?
谢谢!
发布于 2013-05-10 12:34:27
为此,您可以为动画命令设置一个回调函数,该函数将在滚动动画完成后执行。
例如:
var body = $("html, body");
body.stop().animate({scrollTop:0}, 500, 'swing', function() {
alert("Finished animating");
});
在警告代码所在的位置,您可以执行更多的javascript来添加更多的动画。
此外,“摇摆”也是用来设定放松的。有关更多信息,请查看http://api.jquery.com/animate/。
发布于 2013-05-10 12:42:11
尝试以下代码:
$('.Classname').click(function(){
$("html, body").animate({ scrollTop: 0 }, 600);
return false;
});
发布于 2015-02-17 23:21:09
使用以下命令:
$('a[href^="#"]').on('click', function(event) {
var target = $( $(this).attr('href') );
if( target.length ) {
event.preventDefault();
$('html, body').animate({
scrollTop: target.offset().top
}, 500);
}
});
https://stackoverflow.com/questions/16475198
复制相似问题