Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用传单引导导航栏消失_Javascript_Css_Twitter Bootstrap_Conflict_Leaflet - Fatal编程技术网

Javascript 使用传单引导导航栏消失

Javascript 使用传单引导导航栏消失,javascript,css,twitter-bootstrap,conflict,leaflet,Javascript,Css,Twitter Bootstrap,Conflict,Leaflet,我在将传单与引导集成时遇到了一些困难。我使用的脚本创建了一个可折叠的左导航栏。当我与传单地图交互时,引导导航栏消失 这似乎是CSS冲突,但我似乎无法确定从何处开始故障排除。下面是JSFIDLE,后面是CSS:。请注意,单击地图时,导航栏将消失 如果另一组眼睛能够提出一个不同的方向来识别这个问题,这将是很有帮助的。我真的很想为这个应用程序使用引导,但我无法解决冲突 html, body, #map { height: 100%; margin: 0; } body .viewport {

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

这似乎是CSS冲突,但我似乎无法确定从何处开始故障排除。下面是JSFIDLE,后面是CSS:。请注意,单击地图时,导航栏将消失

如果另一组眼睛能够提出一个不同的方向来识别这个问题,这将是很有帮助的。我真的很想为这个应用程序使用引导,但我无法解决冲突

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; 
}

看起来每次地图聚焦时,网页都会向下移动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">

下面是一个例子,目前看来效果不错,但可能值得您稍后花时间来找出页面被向下移动的原因


这看起来有点复杂,如果单击菜单,然后再次返回地图,它就会消失。。让我看看能不能想出点什么。谢谢你的关注。我已经看了一段时间了,所以从另一个角度来看是非常有帮助的。我禁用了jquery,看起来是传单中的某个东西在改变css。Oops-错过了它。非常感谢。这很有效。稍后我将继续研究它为什么会这样做。它看起来好像继承了与引导折叠菜单相关的类。使用Chrome开发者工具查看时,在剥离这些引导类(最初为body.viewport.frame.view#map)的#map div后,导航栏仍然会消失,但在开发者工具中重置#map的height属性可以解决问题。然而,还是无法让它在第一次尝试时就做到这一点。此外,这在Firefox中不是问题。这可能与webkit有关吗?最后一条评论-我找到了一个不依赖jquery的解决方法。我不明白传单为什么会这样,但是,我创建了一个新的div元素(#content),它围绕着#map div。设置#content to height:100%和#map to height:90%似乎可以解决问题。单击地图不会触发地图移动并将导航栏推出屏幕。将#map设置为100%也会做同样的事情。以下是有关此问题的一些相关对话: