我遇到一个修复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/
有任何建议吗?
答案 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";