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

How to remove the scrollbar without scrolling the content?

本文关键字:情况下 删除 滚动条 滚动      更新时间:2023-09-26

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

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

关于这个问题的更多信息,请看Facebook上的照片。当你点击照片时,我喜欢这样做

你能给我们你正在使用的代码或链接到你正在谈论的网站吗?如何隐藏滚动条?

如果它是通过更改溢出样式属性为隐藏,那么我猜这只发生在你第一次显示对话框和随后的对话框的出现不移动内容回到顶部正确吗?如果是这样的话,我不确定最好的方法来防止这种情况,但一个快速的hack将是让你的javascript在加载时将'body'的容器div的溢出样式属性分配为auto。

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

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

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


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

上面的

将滚动条向上移动50像素,你可以通过以下方式获得最大滚动高度:document.getElementById('container').scrollHeight

等等,我不太明白你的问题。如果你想隐藏滚动条,使用CSS来隐藏它们。

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