javascript - 将叠加层附加到 bootstrap 3 移动导航切换后面的内容

标签 javascript jquery css twitter-bootstrap

我正在尝试下面的(在 footer.php 中) 但没有这样的运气。

脚本:

$(document).ready(function(e) {
    $('.navbar-collapse').click(function(){
$(function() {

    var docHeight = $(document).height();

   $("body").append("<div id='overlay'></div>");

           $("#overlay")
            .height(docHeight)
            .css({
                 'opacity' : 0.7,
                 'position': 'fixed',
                 'top': 0,
                 'left': 0,
                 'background-color': 'black',
                 'width': '100%',
                 'z-index': 5000
              });
        }); 
    });
});

标记:

  <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
    <span class="icon-bar"></span>
    <span class="icon-bar"></span>
    <span class="icon-bar"></span>
  </button>

有关如何在触发和显示导航切换时使背景或所有正文内容淡出或变灰的任何建议——目标是让移动导航不是不透明的,但其他所有内容都是不透明的。为任何指针干杯。 (WordPress 网站) 例如。单击导航 > 导航切换出现 > 正文及其后面和其他地方的所有内容都是 #000 不透明度 .7,而导航切换存在,一旦关闭,恢复到没有不透明度的原始状态。

最佳答案

一个好的开始是将您的 jquery 更改为以下内容:

$(function() {

  var docHeight = $(window).height();
  $('.navbar-collapse').click(function(){
     $("<div id='overlay'>")
      .height(docHeight)
      .css({
           'opacity' : 0.7,
           'position': 'fixed',
           'top': 0,
           'left': 0,
           'background-color': 'black',
           'width': '100%',
           'z-index': 5000
      }).appendTo('body');
  });
  
});

编辑

DEMO

检查一下,它主要是 css,但我认为这就是您想要的。

$(function() {
    $('.navbar-toggle').on('click', function() {
        $('body').toggleClass('menu-open');
    })
});

然后是 CSS

body.menu-open:after {
    content: '';
    display: block;
    position: fixed;
    top: 0; bottom: 0; left: 0; right: 0;
    width: 100%;
    height: 100%;
    z-index: 1000;
    background: rgba(0,0,0,0.7);

}

关于javascript - 将叠加层附加到 bootstrap 3 移动导航切换后面的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27789744/

相关文章:

javascript - 在没有 Transpiler/Bundler 步骤的情况下使用 ES6 模块

javascript - AngularJS错误处理: show errors based on array of errors

javascript - datatables.net 中的复杂 header

javascript - 使 css3 过渡始终沿同一方向旋转

javascript - 将项目附加到 JSON 对象中的列表的最佳方法?

javascript - Coffeescript/Javascript 循环未执行

javascript - 点击播放视频的功能在平板电脑上不工作

html - 行内 block + 最小/最大宽度行为

html - 如何使用 HTML 并排放置两个 poll everywhere 元素?

javascript - 如何在css中设计图像的多个时间顺时针旋转