前提・実現したいこと
パス付のリンク(<a href="/hoge/#hoge">)をクリックしたときにスムーススクロールでページ内アンカーがしたいのですが、どう改変したら動作するのかわかりません。
発生している問題・エラーメッセージ
現状別ページからのときはパス付でもスムーススクロールできているのですが、 同ページ内でクリックしたときができません。 #からはじまるように書かれているから動作がしないという問題点は承知しているのですが 具体的な解決案がわかりません。
該当のソースコード
jQuery(function($) { var urlHash = location.hash; if (urlHash) { $('body,html').stop().scrollTop(0); setTimeout(function() { var target = $(urlHash); var position = target.offset().top; $('body,html').stop().animate({scrollTop: position}, 600, 'easeOutExpo'); }, 100); } $('a[href^="#"]').click(function() { var href = $(this).attr("href"); var target = $(href == "#" || href == "" ? 'html' : href); var position = target.offset().top; $('body,html').stop().animate({scrollTop: position}, 600, 'easeOutExpo'); return false; }); });
試したこと
以下のページを参考にやってみましたがうまく動作しませんでした。
https://sterfield.co.jp/designer/%E3%83%9A%E3%83%BC%E3%82%B8%E3%83%AA%E3%83%B3%E3%82%AF%E4%BB%98%E3%81%8D%E3%81%AE%E3%82%A2%E3%83%B3%E3%82%AB%E3%83%BC%E3%83%AA%E3%83%B3%E3%82%AF%E3%81%AB%E5%AF%BE%E5%BF%9C%E3%81%97%E3%81%9Fjquery/
リンクは[リンク内容](http://)でかこった方が見やすいかと
回答3件
あなたの回答
tips
プレビュー