jQuery.scrollTop(); + 动画

标签 jquery jquery-animate scrolltop

我将页面设置为在单击按钮时滚动到顶部。但首先我使用 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/

相关文章:

Jquery从相对位置到绝对位置进行动画处理?可能的?

javascript - 使用jquery将span变成输入框

jquery - 如何修复 Canvas 外菜单的滚动?

javascript - 如何将这个 onclick 动画变成 onload 动画?

javascript - 用于延长容器的 JQuery 动画不起作用

javascript - 使用 jquery 面对代码问题创建返回顶部按钮

javascript - 使用 jQuery scrollTop 上下滚动一定数量的像素

Jquery的scrollTop不能与sli​​deToggle和隐藏的div一起使用

javascript - CSS JS 显示无改变 div

javascript - 使用 jQuery 和 dataTables 以编程方式创建表