Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.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 Div背景色不为';我不能填补这个高度_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript Div背景色不为';我不能填补这个高度

Javascript Div背景色不为';我不能填补这个高度,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我正在努力解决以下问题。 我的索引页由3个部分组成。 标题div(未显示在屏幕截图上)、菜单div(屏幕截图左侧)和内容容器div(屏幕截图右侧) 如您所见,菜单divs背景并没有垂直填充屏幕的高度。 这是我的menu div代码。该div还包含一个列表,但我认为这不是修复此问题所必需的 #menucontainer { float:left; width:200px; background-color:#dddddd; position:absolute;

我正在努力解决以下问题。 我的索引页由3个部分组成。 标题div(未显示在屏幕截图上)、菜单div(屏幕截图左侧)和内容容器div(屏幕截图右侧)

如您所见,菜单divs背景并没有垂直填充屏幕的高度。 这是我的menu div代码。该div还包含一个列表,但我认为这不是修复此问题所必需的

#menucontainer {
    float:left;
    width:200px;
    background-color:#dddddd;
    position:absolute;
    height:100%;
    overflow:hidden;
}
有人能帮我解决我做错了什么吗。我想这只是一件小事,但我找不到

谢谢

试试这个:

#menucontainer {
  position: fixed;
  left: 0;
  top: 0;
  width: 200px;
  margin-top: -2.5em;
  background-color:#dddddd;
}
在Javascript中:

<script type="text/javascript">
   // allocate the function to the window scrolling
   window.onscroll = menucontainer;

   var startingY = false;

   function menucontainer() {

       // First top value recovery
       if (!startingY) startingY = parseInt(document.getElementById("menucontainer").style.top);

       // Scroll top value
       if (window.pageYOffset) {        
           var yrt = window.pageYOffset;
       } else if (document.body.scrollTop){
           var yrt = document.body.scrollTop;
       } else {
           var yrt = document.documentElement.scrollTop;
       }

       document.getElementById("menucontainer").style.top = (yrt + startingY)+ "px";
   }
</script>

//将该功能分配给窗口滚动
window.onscroll=菜单容器;
var startingY=假;
函数menucontainer(){
//首次最高价值回收
如果(!startingY)startingY=parseInt(document.getElementById(“menucontainer”).style.top);
//滚动顶部值
如果(window.pageYOffset){
var yrt=window.pageYOffset;
}else if(document.body.scrollTop){
var yrt=document.body.scrollTop;
}否则{
var yrt=document.documentElement.scrollTop;
}
document.getElementById(“menucontainer”).style.top=(yrt+startingY)+“px”;
}


...

身高:100%不行。。试试pixel/post Fiddle 100%高度表示与父元素相同的高度,而不是窗口的高度。那么,父对象的高度是多少?请尝试
position:fixed
高度:100%
用于
#menucontainer
浮动和
位置:绝对
不在一起。@MrLister父元素由jQuery加载,不包含高度,某些元素较小,当然一切正常。这些父元素的高度取决于它们在页面上有多少文本或表单。感谢您的评论,但不幸的是,这并不能解决问题。当我这样做的时候,它只会给出背景,直到菜单中列表的末尾,并且它与使用Javascript的标题重叠
<script type="text/javascript">
   // allocate the function to the window scrolling
   window.onscroll = menucontainer;

   var startingY = false;

   function menucontainer() {

       // First top value recovery
       if (!startingY) startingY = parseInt(document.getElementById("menucontainer").style.top);

       // Scroll top value
       if (window.pageYOffset) {        
           var yrt = window.pageYOffset;
       } else if (document.body.scrollTop){
           var yrt = document.body.scrollTop;
       } else {
           var yrt = document.documentElement.scrollTop;
       }

       document.getElementById("menucontainer").style.top = (yrt + startingY)+ "px";
   }
</script>
<div id="menucontainer">
...
</div>