position:fixed によるアンカーリンクへの位置ずれ対策
1 2 3 4 5 6 7 8 |
window.onload = function() { var id = window.location.hash.replace('#',''); if(id){ var element = document.getElementById(id); element.scrollIntoView(); window.scrollBy(0,-50); // ヘッダの高さをマイナスで指定 } }; |
色々と表示の処理されているページだからか、
jQuery の .offset().top だと正常な値が取れず、
zoom が効いてる場合は JS の offsetTop が良いという記事も見て試してみたけどそれでも正常な位置が取得出来ず、
この形でやっと上手く行った。