スクロール中にヘッダーが固定されているという問題がありますが、下にスクロールすると、別の領域の位置が絶対であるため、ヘッダーが固定されません。
私のHTML:
<div class="titleBar">
<div class="container">
<h1 class="titleBar-title">Title 1</h1>
<p class="titleBar-subTitle">Title 2</p>
</div>
<div id="subnav">
<div class="subnav-inner">
<ul class="subnav-list nav">
<li><a href="#salt">Salt</a></li>
<li><a href="#pepper">Pepper</a></li>
</ul>
</div>
</div>
</div>
私のCSS:
.subnav-fixed {
position: fixed;
bottom: auto;
top: 0;
padding-top: 10px;
z-index: 99;
-webkit-box-shadow: 0 0 40px 0 rgba(0,0,0,0.15);
box-shadow: 0 0 40px 0 rgba(0,0,0,0.15);
}
#subnav {
width:100%;
height:40px;
background:#FFF;
position: absolute;
bottom:0;
left:0;
z-index:99;
}
ここに私のJavaScriptがあります:
var myHeader = $('#subnav');
myHeader.data( 'position', myHeader.position() );
$(window).scroll(function(){
var hPos = myHeader.data('position'), scroll = getScroll();
if ( hPos.top < scroll.top ){
myHeader.addClass('subnav-fixed');
}
else {
myHeader.removeClass('subnav-fixed');
}
});
function getScroll () {
var b = document.body;
var e = document.documentElement;
return {
left: parseFloat( window.pageXOffset || b.scrollLeft || e.scrollLeft ),
top: parseFloat( window.pageYOffset || b.scrollTop || e.scrollTop )
};
}
この投稿から取得したものは、スクロール中にヘッダーを修正しました
「サブナビ」を維持したいのですが、position:absolute
どうすればよいですか? JavaScript を変更する必要があるように感じますが、何を入力すればよいかわかりません。