スクロール中だけ要素のスタイルを変える
2023/09/06 (水) - 00:00 CSSJavaScript
Webページ内をスクロールしてる最中は追従するバナーやページの先頭へ戻るボタンを非表示や半透明にして、スクロールが止まったら要素を表示させるみたいな実装をしたいとき。
例では、スクロール中はhtml要素にscrollというclass属性を与え、スクロール止まったらscrollのclass属性を削除するように実装した。
const html = document.getElementsByTagName('html')[0];
let timerID;
window.addEventListener('scroll',function(){
clearTimeout(timerID);
html.classList.add('scroll'); //スクロールしてるとき
timerID = setTimeout( function(){
html.classList.remove('scroll'); //スクロールが止まったとき
}, 200) ;
});
CSSでは以下のように実装すると良いと思う。
.pagetopBtn{
display: block; /*通常は表示*/
}
.scroll .pagetopBtn{
display: none; /*スクロール中は非表示*/
}
おしまい♥
おすすめ記事
- OpenAI API(DALL·E 3)とNext.js(React)で画像生成プログラム
- [ネタ]del要素を選択不可の黒塗り文字に、abbr属性のtitle 属性を表示させる…ほか
- Next.js(App Router)でBASIC認証をかける
- JavaScriptでCSVファイルを読み込み、表として表示する
- ReactをCDNで読み込み、外部JSONファイルをAjaxで取得してみた
トラックバック & ピンバック
- この記事へのトラックバックURI:
- https://weblog.walk-life.me/scroll_style/trackback/