div のスクロール位置を検出しようとすると、少し問題が発生します。これは私のコードです:
index.html
<div id="wrapper">
<div id="headerOne">I am a header</div>
<div id="contentContainer">
<div id="content">
I am some content
</div>
</div>
</div>
jQuery 関数 (動作しないバージョン)
$(document).ready(function() {
var aboveHeight = $('#headerOne').outerHeight();
$('#contentContainer').scroll(function(){
if ($('#contentContainer').scrollTop() > aboveHeight){
$('#headerOne').addClass('fixed').css('top','0').next().css('padding-top','60px');
} else {
$('#headerOne').removeClass('fixed').next().css('padding-top','0');
}
});
});
jQuery関数(動作版)
$(document).ready(function() {
var aboveHeight = $('#headerOne').outerHeight();
$(window).scroll(function(){
if ($(window).scrollTop() > aboveHeight){
$('#headerOne').addClass('fixed').css('top','0').next().css('padding-top','60px');
} else {
$('#headerOne').removeClass('fixed').next().css('padding-top','0');
}
});
});
私が最初にテストしたとき、私は作業バージョンを使用していて、下にスクロールしてもヘッダーが残っているため、2 つの異なる jQuery 関数があります。しかし、ヘッダーヘッダーを固定したままにしておきたいのですが、ユーザーは#contentContainer
ウィンドウではなくdivをスクロールしているので、に変更すると$(window).
、$('#contentContainer')
もう機能しません。
スクロール機能は div スクロールを検出できます$(window).
か?
ありがとうございました。