123 lines
3.9 KiB
HTML

<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8" />
<title>{auto_title}</title>
<meta name="keywords" content="{meta_keywords}">
<meta name="description" content="{meta_description}">
<meta name="viewport" content="width=device-width, initial-scale=1">
<base href="{_SITE_ROOT_}">
<link rel="icon" href="favicon.ico">
{include:include/_static_css_headers.htm}
{include:include/_static_js_headers.htm}
{add_headers}
</head>
<body class="container-fluid h-100 px-0">
<div class="row h-100 no-gutters">
<!-- Левая колонка (меню) -->
<div class="col-3 left-col px-2 pt-3">
<div class="d-flex align-items-center mb-4">
<img src="assets/img/logo.png"
class="mr-3"
style="height:70px;width:auto;">
<div class="font-weight-bold" style="font-size:28px; line-height:1.2;">
Психоневрологический<br>диспансер №8
</div>
</div>
{menu}
</div>
<!-- Правая колонка (контент) -->
<div class="col pl-4 ml-4 right-col position-relative pr-0">
<div id="bigcontent-wrapper" class="h-100 position-relative">
<div id="bigcontent" class="h-100" style="overflow: hidden;">
{body}
</div>
<!-- Кнопки прокрутки -->
<button id="scroll-up" class="scroll-btn">&#9650;</button>
<button id="scroll-down" class="scroll-btn">&#9660;</button>
</div>
</div>
</div>
<script>
$(function () {
var $box = $('#bigcontent');
var $btnUp = $('#scroll-up');
var $btnDn = $('#scroll-down');
var interval = null;
var step = 250; // шаг скролла
var delay = 60; // частота скролла (мс)
function checkOverflow() {
var el = $box[0];
if (!el) return;
// немного страховки на округления браузера
if (el.scrollHeight - 2 > el.clientHeight) {
$btnUp.show();
$btnDn.show();
} else {
$btnUp.hide();
$btnDn.hide();
}
}
function startScroll(dir) {
stopScroll();
interval = setInterval(function () {
$box[0].scrollTop += dir * step;
}, delay);
}
function stopScroll() {
if (interval) {
clearInterval(interval);
interval = null;
}
}
// Наверх
$btnUp.on('mousedown touchstart', function (e) {
e.preventDefault();
startScroll(-1);
});
// Вниз
$btnDn.on('mousedown touchstart', function (e) {
e.preventDefault();
startScroll(1);
});
// Остановка
$(document).on('mouseup mouseleave touchend touchcancel', function () {
stopScroll();
});
// 1) Проверка при старте
checkOverflow();
// 2) Периодический опрос — чтобы ловить любые изменения в runtime
setInterval(checkOverflow, 500);
// 3) Если используешь Bootstrap collapse / модалки / табы — дергаем ещё раз
$(document).on('shown.bs.collapse hidden.bs.collapse shown.bs.tab hidden.bs.tab', function () {
checkOverflow();
});
});
</script>
</body>
</html>