فهرست منبع

Changed: more sidebar progress

James Doyle 3 سال پیش
والد
کامیت
6a46f1eb48
2فایلهای تغییر یافته به همراه20 افزوده شده و 7 حذف شده
  1. 4 0
      resources/css/theme-default.style.css
  2. 16 7
      resources/js/theme-default.js

+ 4 - 0
resources/css/theme-default.style.css

@@ -526,6 +526,10 @@ html {
     display: block;
 }
 
+.tocify-wrapper .tocify-subheader .tocify-item>a.active {
+    font-weight: bold;
+}
+
 .tocify-wrapper .tocify-subheader .tocify-item>a {
     padding-left: 25px;
     font-size: 12px

+ 16 - 7
resources/js/theme-default.js

@@ -1,17 +1,26 @@
 function hashChange() {
-    const currentItems = document.querySelectorAll('.tocify-subheader');
+    const currentItems = document.querySelectorAll('.tocify-subheader.visible, .tocify-item a.active');
     Array.from(currentItems).forEach((elem) => {
-        elem.classList.remove('visible');
+        elem.classList.remove('visible', 'active');
     });
 
     const currentTag = document.querySelector(`a[href="${window.location.hash}"]`);
     if (currentTag) {
-        if (currentTag.parentElement.matches('.level-2')) {
-            const parent = currentTag.closest('.tocify-subheader');
-            if (parent) {
-                parent.classList.add('visible');
-            }
+        const parent = currentTag.closest('.tocify-subheader');
+        if (parent) {
+            parent.classList.add('visible');
         }
+
+        const siblings = currentTag.closest('.tocify-header');
+        if (siblings) {
+            Array.from(siblings.querySelectorAll('.tocify-subheader')).forEach((elem) => {
+                elem.classList.add('visible');
+            });
+        }
+
+        currentTag.classList.add('active');
+        // wait for dom changes to be done
+        setTimeout(() => currentTag.scrollIntoView({ behavior: 'smooth', block: 'center', inline: 'center' }), 1000);
     }
 }