使用活动菜单覆盖禁用滚动条

时间:2017-06-04 08:59:03

标签: jquery css

我在菜单覆盖处于活动状态时禁用了我网站上的滚动条(类:.overlay)。我创建了一个菜单覆盖,我希望在叠加层可见时禁用滚动条。与此Just disable scroll not hide it?

类似

所以我想禁用滚动条,而不是隐藏它。 到目前为止我所理解的:基本上我需要做的是在显示叠加层时向html添加内联CSS:阻止并在显示叠加层时删除内联CSS:无;

我在Stackoverflow上尝试了多个解决方案,但到目前为止还没有结果。这是我最新的解决方案,最终没有起作用:

if( $(".overlay").css('display') == 'block') { 

$('html').css('position','fixed');
$('html').css('overflow-y','scroll');
$('html').css('width','100%');

} else {
$('html').css('position','');
$('html').css('overflow-y','');
$('html').css('width','');
}

以上是基于此:div display if block jquery

这是我的网站(正在开发中):

http://www.wouterpasman.com/view/

单击右上角的菜单按钮可激活菜单覆盖。目标:当叠加层处于活动状态时,滚动条应暂时禁用,但仍然可见。

感谢您的协助!

1 个答案:

答案 0 :(得分:0)

您只需添加隐藏和自动溢出:

if( $(".overlay").css('display') == 'block') { 
   $('html').css('position','fixed');
   $('html').css('overflow-y','hidden');
   $('html').css('width','100%');
} else {
   $('html').css('position','');
   $('html').css('overflow-y','');
   $('html').css('width','');
}