javascript - 如何滚动并停留在特定元素所在的位置?

标签 javascript jquery html css

这是我的代码:

$('html, body').stop().animate({scrollTop:$('.select').offset().top-80}, '100'); 
div{
border: 2px solid gray;
  padding: 10px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<div> div1 </div>

<br><br><br><br><br><br><br><br><br><br><br>

<div> div2 </div>

<br><br><br><br><br><br><br><br><br><br><br>

<div class='select'> div3 </div>

<br><br><br><br><br><br><br><br><br><br><br>

<div> div4 </div>

<br><br><br><br><br><br><br><br><br><br><br>

<div> div5 </div>

而且它工作正常。我的问题只是关于跳跃。页面加载时,首先它会(跳转)到页面顶部,然后滚动到该特定位置。如何预防?我不想上升然后下降,我想要如果当前滚动在那个特定位置然后什么也不会发生。我该怎么做?

最佳答案

呈现文档(页面)时,默认情况下它总是将焦点放在页面顶部,不幸的是,css 没有单独提供任何技巧来设置它来克服它。

你能做的最好的事情就是围绕它使用 setTimeout 函数并延迟过渡以使其看起来更线性。

setTimeout(function(){
$('html, body').stop().animate({scrollTop:$('.select').offset().top-80}, 3000); },2000);

这是一个例子:http://jsfiddle.net/86829ryz/18/

关于javascript - 如何滚动并停留在特定元素所在的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34009928/

相关文章:

javascript - 用于在 React.js 中检查互联网连接的可重用钩子(Hook)

javascript - 如何通过javascript跨域返回html

javascript - 需要改变不透明度 : 0 to 1 slowly with animation using jquery

html - 不知道为什么我的边框底部不起作用有人可以解决它

javascript - 播放动画到特定时间

javascript - 从 textarea 获取 json 文件

javascript - 避免登录用户访问index.php

javascript - 单选按钮/复选框未使用 AJAX 输入 MySQL DB

javascript - 如何禁用类型 'number' 的特定输入元素的步骤属性的验证?

javascript - 如何测试 HTML 是从文件系统加载还是通过 http 协议(protocol)加载