前提・実現したいこと
ページ内リンクをスムーズスクロールで移動したい。
発生している問題・エラーメッセージ
アンカーリンクが効かないため、ページの遷移でアンカーリンクが効かないときの対処法(http://www.cattlemute.com/2019/06/03/1589/)を参考に、アンカーリンクに再度ジャンプをかける方法を試したところ、スムーズスクロールが効かなくなってしまった。
該当のソースコード
javascript
1$(window).load(function(){ 2 var lochref = window.location.href; 3 if ( lochref.indexOf('#') > -1 ) { 4 var anchor = lochref.slice( lochref.indexOf('#') ); 5 window.setTimeout(function(){ 6 $('body, html').animate({ scrollTop: $(anchor).offset().top }, 1); 7 }, 1); 8 } 9});
スムーズスクロールのソースコードは以下。
javascript
1$(function() { 2 $('a[href^="#"]').click(function() { 3 var speed = 800; 4 var href = $(this).attr("href"); 5 var target = $(href == "#" || href == "" ? 'html' : href); 6 var position = target.offset().top; 7 $('body,html').animate({ 8 scrollTop: position 9 }, speed, 'swing'); 10 return false; 11 }); 12});
どういうコードを書けばいいでしょうか。。。。
補足情報(FW/ツールのバージョンなど)
Firefox最新バージョン
あなたの回答
tips
プレビュー