Fix offset for fixed nav
This commit is contained in:
parent
6106400662
commit
588d55646d
2 changed files with 14 additions and 3 deletions
|
@ -86,18 +86,25 @@
|
|||
// This is required to handle non-unicode characters in hash
|
||||
hash = decodeURIComponent(hash);
|
||||
|
||||
var fixedTabs = document.querySelector('.js-tabs-affix');
|
||||
var fixedNav = document.querySelector('.navbar-gitlab');
|
||||
|
||||
var adjustment = 0;
|
||||
if (fixedNav) adjustment -= fixedNav.offsetHeight;
|
||||
|
||||
// scroll to user-generated markdown anchor if we cannot find a match
|
||||
if (document.getElementById(hash) === null) {
|
||||
var target = document.getElementById('user-content-' + hash);
|
||||
if (target && target.scrollIntoView) {
|
||||
target.scrollIntoView(true);
|
||||
window.scrollBy(0, adjustment);
|
||||
}
|
||||
} else {
|
||||
// only adjust for fixedTabs when not targeting user-generated content
|
||||
var fixedTabs = document.querySelector('.js-tabs-affix');
|
||||
if (fixedTabs) {
|
||||
window.scrollBy(0, -fixedTabs.offsetHeight);
|
||||
adjustment -= fixedTabs.offsetHeight;
|
||||
}
|
||||
window.scrollBy(0, adjustment);
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -155,7 +155,10 @@ import BlobForkSuggestion from './blob/blob_fork_suggestion';
|
|||
|
||||
scrollToElement(container) {
|
||||
if (location.hash) {
|
||||
const offset = -$('.js-tabs-affix').outerHeight();
|
||||
const offset = 0 - (
|
||||
$('.navbar-gitlab').outerHeight() +
|
||||
$('.js-tabs-affix').outerHeight()
|
||||
);
|
||||
const $el = $(`${container} ${location.hash}:not(.match)`);
|
||||
if ($el.length) {
|
||||
$.scrollTo($el[0], { offset });
|
||||
|
@ -301,6 +304,7 @@ import BlobForkSuggestion from './blob/blob_fork_suggestion';
|
|||
forceShow: true,
|
||||
});
|
||||
anchor[0].scrollIntoView();
|
||||
window.gl.utils.handleLocationHash();
|
||||
// We have multiple elements on the page with `#note_xxx`
|
||||
// (discussion and diff tabs) and `:target` only applies to the first
|
||||
anchor.addClass('target');
|
||||
|
|
Loading…
Reference in a new issue