Настройка: меню разделов не прыгает, другой раздел открывается с начала

- Место под полосу прокрутки зарезервировано всегда (scrollbar-gutter: stable): короткий раздел без прокрутки и длинный с ней больше не сдвигают страницу и меню вбок.
- Меню разделов — на месте при прокрутке и целиком на экране (своя прокрутка, если не помещается по высоте).
- Выбор другого раздела — страница с его начала, а не с той высоты, где листали прежний (после сохранения формы — как раньше, к месту формы).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014FsEKyJrYF69Cj9ZXzFLRi
This commit is contained in:
zuevav
2026-10-07 10:30:02 +03:00
parent 960836b392
commit b496fad3e8
2 changed files with 6 additions and 3 deletions
@@ -1176,7 +1176,8 @@
try { sessionStorage.setItem('bj-setup-tab', id); } catch(e) {}
try { history.replaceState(null, '', '#' + id); } catch(e) {}
}
navs.forEach(function(b){ b.addEventListener('click', function(){ show(b.dataset.sec); }); });
// выбрали другой раздел — с его начала, а не с той же высоты, где листали прежний
navs.forEach(function(b){ b.addEventListener('click', function(){ var same=b.classList.contains('active'); show(b.dataset.sec); if(!same) window.scrollTo(0,0); }); });
var h = (location.hash || '').replace('#','');
// Хэш в URL имеет приоритет. Иначе — после сохранения (есть ?flash/?scrollto)
// восстанавливаем последнюю вкладку из sessionStorage.