わかりましたので、バナーの下部 (約 200px 下のページ) を過ぎてスクロールすると、javascript を使用してヘッダーをページの上部に固定する (したがって、バナーを削除する) ページがあります。
この Web サイトでは、position:inherit; を持つコンテナーを使用しています。ページの各部分を含むように設定されたプロパティ。これらの内部には相対的に配置された要素があるため、絶対に配置されたすべての要素を好きな場所に配置できます。
私の問題は、javascript が id="header" を position:fixed; に変更すると、id="content" がページの上部にジャンプし続けることです。
ここを参照してください:www.obsojb.com
id="content" を絶対に配置して、それを最高値に設定しようとしましたが、うまくいかず、少し行き詰まっています。
以下は、HTML の非常に単純化されたバージョンです。
<body>
<div id="page"> <!--inherit-->
<a id="banner"></a> <!--inherit-->
<div id="header"> <!--inherit-->
<div id="lang"> <!--relative-->
<ul>...</ul> <!--inherit-->
<other divs> <!--absolute-->
</div>
<div id="nav"> <!--relative-->
<ul>..</ul> <!--inherit-->
<a id="userbutton"></a> <!--absolute-->
</div>
</div
<div id="content0"> <!--inherit-->
<div id="content"> <!--relative-->
<PAGE CONTENT> <!--absolute-->
</div>
</div>
<div id="footer"></div>
</div>
</body>
これが私のJavaScriptです:
var bannerheight // Glob var
window.onload = function() {
window.bannerheight = $('#bannerimg').height();
checkOffset();
};
window.onscroll = function(oEvent) {
checkOffset();
}
function checkOffset() {
if (window.pageYOffset >= window.bannerheight) {
document.getElementById("header").style.position = "fixed";
document.getElementById("banner").style.display = "none";
document.getElementById("padding").style.height = window.bannerheight+"px";
}
else {
document.getElementById("header").style.position = "inherit";
document.getElementById("banner").style.display = "block";
document.getElementById("padding").style.height = "0px";
}
}
関連するCSSは次のとおりです。
#page {
margin:0px auto;
}
#lang {
position:relative;
}
#nav {
position:relative;
margin:0px auto;
}
#content0 {
height:800px;
}
#content {
position:relative;
margin:0px auto;
}