固定div的奇怪问题向上滚动

时间:2013-09-25 17:24:53

标签: javascript css html

我遇到一个修复div的奇怪问题,其中还有其他div。

我想要达到的目标是什么;当我滚动时,隐藏.slideshow_head div并仅隐藏.menu以保持可见并移至顶部。

我不知道我做错了什么,因为我认为如果我修复.header div,其中的所有div都会随之向上移动。但是,.menu div不会向上移动,只是保持固定。

window.onscroll=function () {
    var top = window.pageXOffset ? window.pageXOffset : document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop;

       if(top > 50){document.getElementById("menu").style.position = "fixed";
    document.getElementById("menu").style.height="0px"
        }
        else {
        document.getElementById("menu").style.position = "relative";
    document.getElementById("menu").style.height="40px"
        }  

if(top > 50){document.getElementById("header").style.position = "fixed";
    document.getElementById("header").style.height="140px"
        }
        else {
        document.getElementById("header").style.position = "relative";
    document.getElementById("header").style.height="390px"
        }

        if(top > 50){document.getElementById("slideshow_head").style.position = "fixed";
    document.getElementById("slideshow_head").style.height="0px"

        }
        else {
        document.getElementById("slideshow_head").style.position = "fixed";
    document.getElementById("slideshow_head").style.height="390px"

        }
}

以下是代码http://jsfiddle.net/largan/P2B93/

有任何建议吗?

1 个答案:

答案 0 :(得分:0)

在这部分中尝试这样的事情:

      if(top > 50){document.getElementById("slideshow_head").style.position = "fixed";
      document.getElementById("header").style.display = "none";
      document.getElementById("header").style.height = "0px";
      document.getElementById("slideshow_head").style.display = "none";
      document.getElementById("slideshow_head").style.height = "0px";
      document.getElementById("header_holder").style.display = "none";
      document.getElementById("header_holder").style.height = "0px";