Skip to content

Commit 994e93f

Browse files
authored
Improve sidebar scroll behavior (#1907)
1 parent 8302da4 commit 994e93f

1 file changed

Lines changed: 15 additions & 1 deletion

File tree

js/common.js

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ Mousetrap.bind("b o r k", function () {
104104
function cycle(to, from) {
105105
from.removeClass("current");
106106
to.addClass("current");
107-
$.scrollTo(to.offset().top);
107+
scrollToActiveItem();
108108
}
109109

110110
function getNextOrPreviousSibling(node, forward) {
@@ -142,6 +142,18 @@ function cycleHeaders(matches, forward) {
142142
cycle($(matches[forward ? 0 : matches.length - 1]), $(matches[forward ? matches.length - 1 : 0]));
143143
}
144144
}
145+
146+
function scrollToActiveItem() {
147+
const sidebar = document.querySelector(".layout-menu");
148+
const activeItem = sidebar?.querySelector(".current");
149+
150+
if (sidebar && activeItem) {
151+
sidebar.scrollTo({
152+
top: activeItem.offsetTop - sidebar.offsetTop - (sidebar.clientHeight / 2) + (activeItem.clientHeight / 2)
153+
});
154+
}
155+
}
156+
145157
Mousetrap.bind("j", function () {
146158
/* Doc page */
147159
var node = $(".layout-menu .current");
@@ -688,6 +700,8 @@ $(document).ready(function () {
688700
flashMessage($(this));
689701
});
690702
/* }}} */
703+
704+
scrollToActiveItem();
691705
});
692706

693707
/* {{{ add-user.php animations */

0 commit comments

Comments
 (0)