页面遮罩层,并且阻止页面body滚动。bootstrap模态框原理

最近在做手机端效果的时候,页面需要在下拉菜单滚动的时候,阻止页面的滚动。于是就研究了一下bootstrap模态框的实现原理。

实现思路:

1、需要有一个层将body遮住,放在body上方。

2、修改body的overflow属性值为:hidden

废话不多说了,将关键代码贴出来了,兼容火狐,谷歌,ie

.cover {
position:fixed; top: 0px; right:0px; bottom:0px;filter: alpha(opacity=60); background-color: #777;
z-index: 1002; left: 0px; display:none;
opacity:0.5; -moz-opacity:0.5;
}

遮罩层的样式代码,红色部分是关键的部分

<body>

  <div class="container" style="height:2000px;">
    <div style="height:1000px;"></div>
    <a href="javascript:;" onclick="showMask()" >点我显示遮罩层</a><br />
  </div>
  <div id="cover" class="cover"></div>
</body>

网页部分的代码

function showMask(){
$('body').css("overflow","hidden")
$("#cover").show();
}

js部分的代码。

原文地址:https://www.cnblogs.com/kaisela/p/3740898.html