ページ内のいわゆる「スムーススクロール」の実装はできましたが、
リンク先のサイトにある、「この記事の目次」をクリックすると、
行き過ぎた分だけ少しもどる挙動の実装が分かりません。
できれば、jqueryを読み込まず実装できれば良いのですが、
jqueryでも構いません。アドバイス等、教えて頂けないでしょうか?
よろしくお願い致します。
https://www.sejuku.net/blog/23639
javascript
1const smoothScrollTrigger = document.querySelectorAll('a[href^="#"]'); 2 for (let i = 0; i < smoothScrollTrigger.length; i++){ 3 smoothScrollTrigger[i].addEventListener('click', (e) => { 4 e.preventDefault(); 5 let href = smoothScrollTrigger[i].getAttribute('href'); 6 let targetElement = document.getElementById(href.replace('#', '')); 7 const rect = targetElement.getBoundingClientRect().top; 8 const offset = window.pageYOffset; 9 const gap = 0; 10 const target = rect + offset - gap; 11 window.scrollTo({ 12 top: target, 13 behavior: 'smooth', 14 }); 15 }); 16}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/12/19 23:38