2020年05月25日(Mon)
追跡ナビや固定ヘッダーのレスポンシブと別ページに対応したアンカーリンクのズレ調整
まだ模索中ですが、とりあえず機能しているのでとりあえずメモ。
下記の2つのjavascriptを両方記述すればパソコンとスマホ時に何らかのアンカーリンクのズレを調整できます。
max-width のサイズは、CSSのレスポンシブに設定した数値と同じにした方が良いと思います。
別ページへのアンカーリンクのレスポンシブ対応
$(window).on('load', function() { id = location.hash; speed = 0; if (window.matchMedia('(max-width: 599px)').matches){ var headerHight=$("スマホ時の固定ヘッダーのIDまたはクラス名").height(); }else{ var headerHight=$("パソコン時の追跡ナビのIDまたはクラス名").height(); } if ('' != id) { pos = $(id).offset().top - headerHight; $('html').animate({ scrollTop: pos }, speed ); } });
上記の嫌な所は移動してからズレを調整するところかな。。。
同一ページ内でのアンカーリンクのレスポンシブ対応
$(function(){ if (window.matchMedia('(max-width: 599px)').matches){ var pal=$("スマホ時の固定ヘッダーのIDまたはクラス名").height(); }else{ var pal=$("パソコン時の追跡ナビのIDまたはクラス名").height(); } $('a[href^=#]').click(function(){ var speed = 750; var href= $(this).attr("href"); var target = $(href == "#" || href == "" ? 'html' : href); var position = target.offset().top-pal; $("html, body").animate({scrollTop:position}, speed, "swing"); return false; }); });
【参考Webサイト】
コメント(0件)
追跡ナビや固定ヘッダーのレスポンシブと別ページに対応したアンカーリンクのズレ調整に対するご意見、ご感想、情報提供など皆様からのコメントをお待ちしております。 お気軽にコメントしてください。
コメントフォーム