あなたは、ドキュメントのスクロール位置の変化を検出する$(document).scroll(function()
を使用することができます。 scrollTop()
メソッドはドキュメントの現在の最上位位置を示し、position()
は位置値を含むオブジェクトを返すメソッドであり、top
は私たちが望むものです。現在のドキュメントのトップポジションとdivトップポジションを比較したいだけです。
if($(this).scrollTop()>=$('.content2').position().top){
これは、現在のドキュメントの位置がクラス名.content2
のdivの最上部にあることを意味します。今度はnav2
を表示し、nav1
を非表示にすることができます。それ以外の場合はnav1
を示し、nav2
$(document).scroll(function() {
if($(this).scrollTop()>=$('.content2').position().top){
$("#nav2").show();
$("#nav1").hide();
}
else {
$("#nav1").show();
$("#nav2").hide();
}
})
フィドル隠す:https://fiddle.jshell.net/tintucraju/rjjrmhvt/5/
に注意してください。親が比較的配置されている場合position().top
は、上から親に計算されます。トップ値にわずかな変化があります。 $(this).scrollTop()
にオフセットを加えて調整し、希望の位置に調整します。
フィドル:https://fiddle.jshell.net/tintucraju/rjjrmhvt/6/
あなたの試しコードはどこですか? –
@kcNeko見てください私の答え –