我在将传单与Bootstrap集成时遇到一些困难。我正在使用创建可折叠的左侧导航栏的脚本。当我与传单 map 交互时,引导导航栏消失。

这似乎是CSS冲突,但我似乎无法确定从哪里开始进行故障排除。这是jsfiddle,后跟CSS:http://jsfiddle.net/6sSrE/。请注意,单击 map 时,导航栏消失。

如果另一双眼睛可以建议不同的方向来识别此问题,则将很有帮助。我真的很想为此应用程序使用Bootstrap,但是我无法解决冲突。

html, body, #map {
height: 100%;
margin: 0;
}
   body .viewport {
  position: absolute;
  padding: 0;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: hidden;
}

body .viewport .frame {
  position: absolute;
  width: 200%;
  height: 100%;
  top: 0;
  bottom: 0;
  left: 0;
  padding: 0;
}

body .viewport .frame .navbar .navbar-inner {
  border-radius: 0;
  padding-left: 5px;
}

body .viewport .frame .menu {
  height: 100%;
  /* background-color: #3D6AA2; */
}

body .viewport .frame .menu.collapse {
  float: left;
  height: 100% !important;
  width: auto;
}

body .viewport .frame .menu.collapse.height {
  position: relative;
  height: 0;
  overflow: hidden;
  -webkit-transition: height 0.35s ease;
  -moz-transition: height 0.35s ease;
  -o-transition: height 0.35s ease;
  transition: height 0.35s ease;
}

body .viewport .frame .menu.collapse.width {
  position: relative;
  width: 0;
  overflow: hidden;
  -webkit-transition: width 0.35s ease;
  -moz-transition: width 0.35s ease;
  -o-transition: width 0.35s ease;
  transition: width 0.35s ease;
}

body .viewport .frame .menu.collapse.in.width {
  width: auto;
}

body .viewport .frame .menu.collapse.in.height {
  height: auto;
}

body .viewport .frame .menu .collapse-inner {
  position: relative;
  width: 250px;
  height: 100%;
}

body .viewport .frame .menu .navbar .navbar-inner {
  text-align: center;
  color: grey;
  font-size: 1.2em;
  line-height: 38px;
}

body .viewport .frame .menu .nav-stacked {
  padding: 0 10px;
}

body .viewport .frame .view {
  width: 50%;
  height: 100%;
  overflow: hidden;
}

body .viewport .frame .view .navbar .navbar-inner .btn-navbar {
  display: block;
  float: left;
}

body .viewport .frame .view #map {
  margin: auto 15px;
  text-align: justify;
}

最佳答案

好像每次 map 聚焦时,网页都会向下移动78个像素。 (您可能能够找到发生这种情况的位置并加以解决。)

但是,我只是想出了一些快速方法,可以调整您的导航栏,使其每次都显示在页面顶部。

$(document).ready(function(){
    var margin = 78;
    $('#map').on('mousedown',function(){
        $('#navBar').css('margin-top',margin+'px');
    });
    $('#map').blur(function(){
        margin = margin+78;
    });
});

注意:我还为您的导航栏添加了ID。
<div class="navbar navbar-inverse" id="navBar">

这是一个示例,目前看来效果不错,但是稍后值得您花时间弄清楚为什么下移页面。

http://jsfiddle.net/6sSrE/15/

关于javascript - Bootstrap导航栏使用传单消失,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19104516/

10-15 02:39