隐藏元素后更新滚动条
Updating the scrollbar after hiding an element
我有一个网页,其中包含部分。每个部分都有100%的宽度和高度。我的Section1在网页的顶部。Section1下面的Section2等等。例如,我的视图在Section2上,我想隐藏Section1。Section1隐藏后,Section2位于顶部。但浏览器记得,它在Section1下面,并向下滚动一个部分到Section3。那么我应该如何避免这种滚动呢?
<section id="1">
</section>
<section id="2">
</section>
<section id="3">
</section>
<script type="text/javascript">
<!--the view is on section2-->
$('#1').addClass('hidden');
</script>
让我们从澄清开始:
浏览器记得它在Section1下面,然后滚动一个第3节。
浏览器不记得,也不会滚动任何内容。浏览器被滚动了x个像素,在删除第一个部分后,它仍然被滚动了x个像素,但第2部分占据的空间现在被第3部分占据。
您需要做的是将垂直滚动固定到移除div #1
后的位置。当它们占据100%的高度时,它将滚动window.height
:的负值
$(window).scrollTop( $(window).scrollTop() - $(window).height() );
或者,如果你想把它滚动到#2
部分的开头,那么你必须这样做:
$(window).scrollTop( $("#2").offset().top );
你可以看到它在这个jsfiddle上工作:http://jsfiddle.net/7wegxuyu/4/(它包含两个例子,其中一个是注释的,您需要取消注释才能看到它的工作)
相关文章:
- CSS-若窗口太小,滚动条会出现在“表格”单元格上
- 禁用(而不是隐藏)浏览器滚动条
- 在firefox和chrome中的左侧显示iframe滚动条
- jquery:将动画绑定到滚动条位置的更好方法
- 在窗口中添加滚动条
- 如何查明鼠标按下事件是否发生在滚动条上或元素中的其他任何位置
- 使用没有插件的javascript自定义滚动条
- CodeMirror.禁用垂直滚动条
- 在滚动时,在隐藏滚动条和隐藏溢出的同时触发事件
- 可以'无法使滚动条正常工作
- 强制滚动条覆盖页面内容
- 如何隐藏滚动条,但希望它继续工作
- 滚动所有嵌套的滚动条,使HTML元素进入视图
- 使用浏览器滚动条而不是iframe滚动条
- 滚动条在关闭引导对话框后消失
- 隐藏元素后更新滚动条
- jQuery自定义滚动条插件没有't使用水平滚动进行更新:true
- Tablesorter滚动条's的高度在触发更新后保持不变
- 滚动条在使用$selector.html()更新内容后重置
- 纳米滚轮自动更新滚动条