スクロールを検出してタイトルを非表示および表示
1583 ワード
概要
固定ヘッドの作業は完了したが、固定ヘッドにより欠点が生じた.たとえば、メニューをクリックすると、タイトルは移動する場所を隠しますが、タイトルはその場所にあるはずです.
そうではありません.下のように見えるはずです.
ヘザーは固定して、みんなにタイトルを見せたいと思っています.それなら、すべての部分のレイアウトを調整すればいいのですが、そうは思いません...複数のサイトを見て、考えていることをスクロールするときにタイトルがなく、少し上に行くとこのようなサイトがたくさんあります.
かいはつ
以前のコードでは
window.onscrollでscrollFunctionという関数が呼び出されました.
window.onscroll = function () {
scrollFunction();
};
この関数ではヘッダの表示と非表示を決めていますが、ここで計算すればいいです.箱は全部で3つあり、これによって展示が決まるので、
1.一番上にスクロールする場合->見出しが表示されます
2.スクロールは一番上ではなく、スクロールが上昇しています.
3.スクロールは一番上ではなく、スクロールは下に向かっています->タイトルが見えません.
以下のように開発しました.
function scrollFunction() {
...
if(document.getElementById("header") != null){
let currScrollLoc = document.documentElement.scrollTop;
if ( currScrollLoc <= 20 ) {
document.getElementById("header")!.style.position = "relative";
}
else if(currScrollLoc > scrollLoc && scrollLoc > 0){
document.getElementById("header")!.style.position = "relative";
}
else {
document.getElementById("header")!.style.position = "fixed";
}
setScrollLoc(currScrollLoc);
}
}
とにかく今日も先端開発者として一段階成長しました!
Reference
この問題について(スクロールを検出してタイトルを非表示および表示), 我々は、より多くの情報をここで見つけました https://velog.io/@parkyw1206/스크롤을-감지해-헤더를-숨기고-보여주기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol