【问题标题】:Possible to disable scrollbar instead of hiding?可以禁用滚动条而不是隐藏吗?
【发布时间】:2011-12-14 06:27:09
【问题描述】:

我想知道是否可以禁用滚动条而不是将其隐藏在页面上?当我打开模式对话框时,我希望它留在页面上,我只是不希望用户能够滚动主页。所以完美的功能应该是:

短页 - 根本没有滚动条;

长页 - 出现滚动条;

长页模式对话框打开 - 滚动条仍然存在,但无法使用。

【问题讨论】:

标签: javascript html css


【解决方案1】:

好吧,当你有一个模态框时,你可以玩弄 onscrollwindow

小提琴:http://jsfiddle.net/maniator/DmmEv/

代码:

var scrollX = window.scrollX, scrollY = window.scrollY;
window.onscroll = function(e){
    scroll(scrollX,scrollY)
}

真实例子
点击Click Me后,滚动条将保持原位
小提琴:http://jsfiddle.net/maniator/DmmEv/6/

【讨论】:

  • 这条评论应该得到投票!像魅力一样工作。
  • 不是评论。这是一个答案
【解决方案2】:

不妨试试:

<body style="overflow: scroll;">
Hello
<body>

【讨论】:

  • 不会让滚动条一直出现吗?我真的不希望它出现在页面较短的地方。或者当模式对话框出现时用户是否仍然可以使用它?
  • 哦,我以为这就是你想要的。好的,所以将scroll 更改为auto
  • 感谢您的建议,它在 FF 中有效,但用户仍然可以在旧版 IE 中使用滚动条。
  • 我想我没有按照您的意愿行事。是否要显示滚动条?
  • 就像我在问题中提到的那样。我不希望滚动条在页面短时显示,我希望它在页面长时显示,但我希望在带有滚动条的长页面上打开模式对话框时禁用滚动条。希望这很清楚:)
猜你喜欢
  • 2014-11-11
  • 2023-04-11
  • 2020-01-22
  • 2013-09-21
  • 2012-01-31
  • 2019-11-14
  • 2012-02-27
  • 2014-04-23
  • 1970-01-01
相关资源
最近更新 更多