如何在不滚动内容的情况下删除滚动条?

时间:2011-12-10 01:00:27

标签: javascript html css web

我有一个使用对话框的网站。当我打开该对话框时,body滚动条被隐藏,包含该对话框的div滚动条显示其滚动条。

但是,当我隐藏body滚动条时,内容会移至开头。打开对话框时如何保持内容的位置?

有关此问题的详细信息,请查看Facebook上的照片。当你点击一张照片时,我喜欢这样做。

3 个答案:

答案 0 :(得分:0)

您能否向我们提供您正在使用的代码或您正在谈论的网站的链接?你是如何隐藏滚动条的?

如果是通过将溢出样式属性更改为隐藏,那么我是否正确猜测这只会在您第一次显示对话框时出现,并且对话框的后续外观不会将内容移回顶部?如果是这样,我不确定防止这种情况的最佳方法,但是快速破解就是让你的javascript在加载时将'body的容器div的溢出样式属性指定为auto。

将以下内容添加到您的javascript顶部:

window.onload = function ()
{
    document.getElementById('container').style.overflow = 'auto';
}

其中container是包含“body”代码的div的id。


答案 1 :(得分:0)

尝试使用JavaScript将滚动移动到位置:       document.getElementById('container').scrollTop = 50;

上面的

会将滚动条50pix移动到顶部,您可以通过以下方式获得最大滚动高度:      document.getElementById('container').scrollHeight

答案 2 :(得分:-1)

等等,我无法理解你的问题。如果您想隐藏滚动条,请使用CSS隐藏它们。

<style type="text/css">
  selector {
    overflow: hidden;
  }
</style>