Skip to content

Commit 9e77cb6

Browse files
ehussngolin
andauthored
Scroll sidebar to middle instead of top. (rust-lang#1161)
* Fix: Scroll sidebar to current active section (rust-lang#1067) * Clean: Some code related to PR rust-lang#1052 * Change `scrollIntoViewIfNeeded` with `scrollIntoView` * Don't use onload event for sidebar scroll to reduce flickering. Co-authored-by: 李鸿章 <poodll@163.com>
1 parent 7947260 commit 9e77cb6

2 files changed

Lines changed: 3 additions & 3 deletions

File tree

src/theme/book.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -409,7 +409,6 @@ function playpen_text(playpen) {
409409
(function sidebar() {
410410
var html = document.querySelector("html");
411411
var sidebar = document.getElementById("sidebar");
412-
var sidebarScrollBox = document.querySelector(".sidebar-scrollbox");
413412
var sidebarLinks = document.querySelectorAll('#sidebar a');
414413
var sidebarToggleButton = document.getElementById("sidebar-toggle");
415414
var sidebarResizeHandle = document.getElementById("sidebar-resize-handle");
@@ -508,7 +507,8 @@ function playpen_text(playpen) {
508507
// Scroll sidebar to current active section
509508
var activeSection = document.getElementById("sidebar").querySelector(".active");
510509
if (activeSection) {
511-
sidebarScrollBox.scrollTop = activeSection.offsetTop;
510+
// https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoView
511+
activeSection.scrollIntoView({ block: 'center' });
512512
}
513513
})();
514514

src/theme/index.hbs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@
8787
</script>
8888

8989
<nav id="sidebar" class="sidebar" aria-label="Table of contents">
90-
<div id="sidebar-scrollbox" class="sidebar-scrollbox">
90+
<div class="sidebar-scrollbox">
9191
{{#toc}}{{/toc}}
9292
</div>
9393
<div id="sidebar-resize-handle" class="sidebar-resize-handle"></div>

0 commit comments

Comments
 (0)