我将页面设置为在单击按钮时滚动到顶部。但首先我使用 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 时运行的动画?
谢谢!
最佳答案
为此,您可以为将在滚动动画完成后执行的动画命令设置回调函数。
例如:
var body = $("html, body");
body.stop().animate({scrollTop:0}, 500, 'swing', function() {
alert("Finished animating");
});
在警报代码所在的位置,您可以执行更多 javascript 以添加更多动画。
此外,'swing' 用于设置缓动。查看http://api.jquery.com/animate/了解更多信息。
关于jQuery.scrollTop(); + 动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16475198/