サイトからjQueryを外す作業を行いました。
これまで以下の用途においてjQueryを使用しておりましたが、
1. 検索ボックスの開閉(スマホのみ)
2. スクロールしたときに右下にボタンを表示
3. 右下のボタンをクリックしたときにページ上部にスムーススクロール
4. サイドバーの追尾広告(PCのみ)
これを以下のように変更しました。
1. スクリプトの書き換え
2. スクリプトの書き換え(Intersection Observer APIを使用)
3. スクリプトの書き換え(behavior: 'smooth' を使用)
4. CSSの position: sticky を使用
4の position: sticky の使用に伴い、ページの横並びカラムで使用していた float を display: flex に変更(サイドバーの高さを下まで伸ばす必要があるため)。
ところが、「display: flex + AdSenseのレスポンシブ指定 + Chrome」の組み合わせでは不具合(メインカラム内のAdSenseの幅がブラウザの幅いっぱいに広がってしまう)が生じてしまい、float に戻すはめに。
仕方がないので、サイドバーの高さをスクリプトで伸ばして position: sticky が機能するようにしました(結局スクリプトを使うことになってしまった)。
最近になって position: sticky を使う機会が何度かあったのですが、これは便利な機能ですね~。縦に長い表の thead で使うと格段に見やすくなります。
これまで以下の用途においてjQueryを使用しておりましたが、
1. 検索ボックスの開閉(スマホのみ)
2. スクロールしたときに右下にボタンを表示
3. 右下のボタンをクリックしたときにページ上部にスムーススクロール
4. サイドバーの追尾広告(PCのみ)
これを以下のように変更しました。
1. スクリプトの書き換え
2. スクリプトの書き換え(Intersection Observer APIを使用)
3. スクリプトの書き換え(behavior: 'smooth' を使用)
4. CSSの position: sticky を使用
4の position: sticky の使用に伴い、ページの横並びカラムで使用していた float を display: flex に変更(サイドバーの高さを下まで伸ばす必要があるため)。
ところが、「display: flex + AdSenseのレスポンシブ指定 + Chrome」の組み合わせでは不具合(メインカラム内のAdSenseの幅がブラウザの幅いっぱいに広がってしまう)が生じてしまい、float に戻すはめに。
仕方がないので、サイドバーの高さをスクリプトで伸ばして position: sticky が機能するようにしました(結局スクリプトを使うことになってしまった)。
最近になって position: sticky を使う機会が何度かあったのですが、これは便利な機能ですね~。縦に長い表の thead で使うと格段に見やすくなります。