Html 模式窗口打开时隐藏正文页的滚动

Html 模式窗口打开时隐藏正文页的滚动,html,css,overflow,Html,Css,Overflow,从css打开模式窗口时,是否可以删除正文页的滚动? 例如,我的正文页面有一个高度:200%,所以如果我想进入页面底部,我必须使用scroll(overflow-y:auto)。现在,如果我要打开一个模式窗口,主体页面的滚动保持活动状态,我希望在模式窗口打开时将其禁用 $('body').addClass('modal-open'); //when modal is open $('body').removeClass('modal-open'); //when modal is closed

从css打开模式窗口时,是否可以删除正文页的滚动?
例如,我的正文页面有一个高度:200%,所以如果我想进入页面底部,我必须使用scroll(overflow-y:auto)。现在,如果我要打开一个模式窗口,主体页面的滚动保持活动状态,我希望在模式窗口打开时将其禁用

$('body').addClass('modal-open'); //when modal is open
$('body').removeClass('modal-open'); //when modal is closed

谢谢。

我假设您正在使用javascript打开lightwindow:

$('body').addClass('modal-open'); //when modal is open
$('body').removeClass('modal-open'); //when modal is closed
您可以将主体的高度设置为100%,并将overflow-y设置为hidden。这将删除滚动条

$('body').addClass('modal-open'); //when modal is open
$('body').removeClass('modal-open'); //when modal is closed

您必须在灯光窗口关闭时重置所有内容。

使用
位置:固定
,将
左侧
顶部
设置为百分比,然后将
左侧边距
设置为像素宽度的负值。e、 g.
宽度:700px;左:50%,左边缘:-350px以便水平居中。

如果在单击链接时打开模式窗口,则可以执行以下操作:

// modal screen activate
$('a').live('click', function(){
modalScreen.show();
$('body').css('overflow','hidden');
});

// modal screen de-activate
$('body, html').live('click', function(){
modalScreen.hide();
$('body').css('overflow','auto');
});
$('body').addClass('modal-open'); //when modal is open
$('body').removeClass('modal-open'); //when modal is closed

或者只需在脚本中添加和删除类:

$('body').addClass('modal-open'); //when modal is open
$('body').removeClass('modal-open'); //when modal is closed
然后可以转到css文件并添加多个css样式。要隐藏滚动条,请使用:

$('body').addClass('modal-open'); //when modal is open
$('body').removeClass('modal-open'); //when modal is closed
.modal-open {
overflow: hidden;
}

特别是当你想改变更多的事情时,我更喜欢这种方式,但这是我的意见。用你喜欢的任何东西

如果你对模式窗口使用
position:fixed
,即使用户向上或向下滚动,它也会保留在屏幕上。是的,我知道我已经有position:fixed on modal,但我想禁用正文页面的滚动。我使用wicket,是的,在模式窗口的后面是一个巨型javascript,我不想修改它。出于这个原因,我试图找到一种方法来使用css或jQuery禁用正文页面的溢出;像这样的东西应该可以奏效(未经测试)。
$('body').addClass('modal-open'); //when modal is open
$('body').removeClass('modal-open'); //when modal is closed