网页弹出对话框的背景层禁止滚动,哪种方式最优?

目前能想到的有

  1. 阻止所有能导致页面滚动的事件。 //scroll不能阻止,只能阻止mousewheel,鼠标拽滚动条就悲剧了

  2. body overflow:hidden //win下右侧滚动条会消失导致页面横移

  3. 把滚动部分单独放在一个div里,和弹出部分同级,body和window同高。 //所有涉及offset/scrollTop的方法都要修改。

  4. 弹出时算scrollTop,给内容区fix然后top移动到目前位置,同时body给一个overflow-y:scroll强撑出滚动条。

大家有没有更好的方法?


杨__羊羊
浏览 477回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript