单击按钮时,我将页面设置为滚动到顶部。但首先我使用 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 以添加更多动画。
此外,“摇摆”是用来设置缓动的。查看http://api.jquery.com/animate/了解更多信息。