バウンススクロールに固定背景を表示しない
公開日2021.04.14

MacのChromeでトラックパッドを使って思いっきり下に引っ張ると、領域外が見えてしまいます。そして、トラックパッドから手を離すと元に戻ります。これを「バウンススクロール」と言います。(http://ithat.me/2016/02/15/css-mac-chrome-bounce-scroll-cancel より)
今回、コンテンツの中身に背景を固定していた箇所があり、スマートフォンで見た際に固定された背景がバウンズスクロールした際にちらっと見えてしまう
ということで、「背景画像を固定している場合でもバウンズスクロール した際に背景画像を消す方法」を実装しました。
ヘッダーより上の固定背景を消す方法
※「〜以上スクロールした際に、背景画像を固定している部分を表示させる」という仕様です。
【CSS】
.scAbout::before {
background: url("画像")no-repeat top center/cover;
display: block;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
content: "";
z-index: -1;
}
【JavaScript】
$(window).on('load scroll', function(){
if ($(window).scrollTop() > 100) {
$('.scAbout').css({'opacity':'1'});
} else {
$('.scAbout').css({'opacity':'0'});
}
});
フッターより上の固定背景を消す方法
※JavaScript : ページの最下部に来た時にイベントを起こす
こちらを参考にしました。
※フッターとの距離が近い場所に固定背景を貼り付けているクラスがあるので、ヘッダーの方法とは別の方法です。
【JavaScript】
$(function(){
$(window).on('load scroll', function(){
var doch = $(document).innerHeight(); //ページ全体の高さ
var winh = $(window).innerHeight(); //ウィンドウの高さ
var bottom = doch - winh; //ページ全体の高さ - ウィンドウの高さ = ページの最下部位置
//画面幅の条件分岐
if (window.matchMedia('(max-width: 768px)').matches) {
if (bottom * 0.9 <= $(window).scrollTop()) {
//一番下までスクロールした時に実行
$('.scWorkflow #content01_bg').css({'background':'none'});
}else{
//それ以外の時の処理
$('.scWorkflow #content01_bg').css({'background':'url("画像(※直接パスで書かないと多分反映されません)") no-repeat top center/cover'});
}
} else if (window.matchMedia('(min-width:768px)').matches) {
}
});
});
- 参考サイト
- サイト名:JavaScript : ページの最下部に来た時にイベントを起こす
- 【更新履歴】
- 2020.04.14 記事を公開しました。
- 最新記事
-
タグマネージャーの設定(随時更新)
2021.11.09 WEB・APPSEO対策
mori -
メルマガの開封・クリックをGoogleアナリティクスで測定する方法
2021.10.19 WEB・APPテクニックSEO対策
mori -
横スクロールサイトがかっこいいサイト
2021.10.18 WEB・APPテクニックアイデア
mori
- タグ
- UX・UIデザインバックエンドフロントエンドECサイトサーバー・ドメインSNSツールPHPSEOWebツールnoteJavaScriptGoogleTagManagerGitFacebookショップサーブオウンドメディアCSSSearchConsoleVScodeInstagramお名前ドットコムカラーミーCMSHTMLGoogleAnalyticsXDプログラム言語TwitterhetemlEC-CUBEWordPress操作方法アプリ画像関係PythonVBAデータベースMySQLRubyShopify
- 月別アーカイブ
-