スクロールすると指定の位置で止まる固定ボタンの実装
解決したいこと
スクロールすると指定の位置で止まる固定ボタンの実装
jqueryを使わずに表題の件を実装したいと考えております。
生のjavascriptを触り始めたばかりですので優しくご教授いただけると幸いです…
該当するソースコード
const btn = document.querySelector('.btn');
let btn_height = btn.offsetHeight;
let rect = btn.getBoundingClientRect();
let position = rect.top + btn_height - window.innerHeight;
if( position < window.pageYOffset) {
btn.classList.add("fixed");
} else {
btn.classList.remove("fixed");
自分で試したこと
PC時は上記の記述できれいに止まるのですがスマホになると少し早くクラスが外されてしまいます。
考え方がそもそも間違っているのでしょうか?
参考サイトなどでもいいので少しでもヒント頂けると幸いです。
0 likes