为了账号安全,请及时绑定邮箱和手机立即绑定

只是禁用滚动而不隐藏它?

只是禁用滚动而不隐藏它?

我在尝试使用灯箱时禁用父级的html / body滚动条。这里的主要词是disable。我也没有想隐藏它overflow: hidden;。这样做的原因是overflow: hidden使站点跳转并占据了滚动所在的区域。我想知道是否有可能在仍然显示它的同时禁用滚动条。
查看完整描述

3 回答

?
呼如林

TA贡献1798条经验 获得超3个赞

如果覆盖层下的页面可以在顶部“固定”,则在打开覆盖层时可以设置


body { position: fixed; overflow-y:scroll }

您仍应看到右侧的滚动条,但内容不可滚动。关闭叠加层时,只需使用


body { position: static; overflow-y:auto }

我之所以这样提出只是因为您不需要更改任何滚动事件


更新资料


您也可以做些微的改进:如果您document.documentElement.scrollTop在打开图层之前通过javascript 获得该属性,则可以将该值动态分配为topbody元素的属性:通过这种方法,无论您是否在页面上都可以放置它重新放在顶部或您是否已经滚动。


的CSS


.noscroll { position: fixed; overflow-y:scroll }

JS


$('body').css('top', -(document.documentElement.scrollTop) + 'px')

         .addClass('noscroll');


查看完整回答
反对 回复 2019-10-15
  • 3 回答
  • 0 关注
  • 624 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信