jquery - 动画 scrollTop 但我不能使用 $ ('html,body' ).animate({scrollTop : 0}, 'slow' );

标签 jquery css jquery-animate scrolltop

我是 jQuery 的新手,所以请不要介意我。

我有这个风格

html, body{
    height: 100%;
    overflow: auto;
}

还有这个脚本

$(document).ready(function() {
    $('#guide-wrap').scrollTop($('#main').position().top);
});

因此,当窗口加载时,它会跳转到 ID 为 maindiv 我想让它动起来但是因为我有 height: 100%; overflow: auto; 我不能使用这个脚本:

$('html,body').animate({scrollTop: 0}, 'slow');

或者我不知道该怎么做。我知道这对你们来说可能看起来很明显,但我是新手,在决定在这里发帖之前我已经谷歌了很多。请任何人帮助我。

最佳答案

$('html, body').animate({scrollTop: 0}, 'slow'); 是动画滚动的完全有效代码。但是,在 $(document).ready() 上使用动画滚动到页面顶部是没有意义的,因为页面将自动位于默认情况下在顶部。

如果您正在寻找在点击超链接 时触发的滚动,您需要记住传递 e.preventDefault() 添加到点击事件以防止默认行为。如果链接指向同一页面(例如使用 #),它将“跳转”到顶部,除非阻止此行为。

这是一个工作示例(向下滚动以查看链接):

$(".scroll-top").on("click", function(e){
   e.preventDefault();
   $('html, body').animate({scrollTop: 0}, 'slow');
});
.tall {
  height: 200vh;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div class="tall">Top of the page</div>

<a href=# class="scroll-top">Scroll Up</a>

希望对您有所帮助! :)

关于jquery - 动画 scrollTop 但我不能使用 $ ('html,body' ).animate({scrollTop : 0}, 'slow' );,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46065809/

相关文章:

jquery - 在 jQuery 中动画打开/关闭表格列

jQuery - 如何为 box-shadow 属性设置动画?

javascript - jQuery one() 处理程序执行了两次

php - 文本区域值未插入到 MYSQL 数据库中

javascript - Bootstrap : How to collapse 2 nav OR change the content of one

css - 保持宽高比和相对于父级的位置

html - CSS nth-of-type 问题

css - 修复 Chrome 上的 css/jquery 动画问题

javascript - 从带有主文件的 aspx 文件调用时,jQuery 代码不起作用

php - 转到不同页面时菜单栏闪烁