actuel-inactuel/assets/dist/script.js

63 lines
1.7 KiB
JavaScript
Raw Normal View History

2024-01-26 08:52:00 +01:00
"use strict";
2024-03-12 17:12:03 +01:00
var remFactor = 16;
var verticalUnit = 1.3 * remFactor;
function toggleTab(data, tab) {
if (data.activeTab === tab) {
2024-04-07 07:29:27 +02:00
window.scrollTo({
top: 0,
behavior: "smooth"
});
2024-03-12 17:12:03 +01:00
setTimeout(function () {
data.isOpen = false;
2024-04-07 07:29:27 +02:00
data.activeTab = "";
}, 500);
2024-03-12 17:12:03 +01:00
} else {
data.activeTab = tab;
data.isOpen = true;
scrollToElem(".active-tab");
}
2024-01-26 08:52:00 +01:00
}
function scrollToElem(selector) {
2024-03-12 17:12:03 +01:00
document.querySelector(".active-tab").scrollTop = 0;
2024-01-26 08:52:00 +01:00
setTimeout(function () {
2024-03-12 17:12:03 +01:00
var yOffset = -7 * verticalUnit;
2024-01-26 08:52:00 +01:00
var elem = document.querySelector(selector);
var top = elem.getBoundingClientRect().top;
window.scrollTo({
top: top + window.scrollY + yOffset,
2024-03-12 17:12:03 +01:00
behavior: "smooth"
2024-01-26 08:52:00 +01:00
});
}, 100);
}
2024-04-07 07:29:27 +02:00
function setWindowHeightFactor() {
var windowHeight = window.innerHeight;
var min = 650;
var delta = windowHeight - min;
var factor = roundToNearestHalf(delta / 300) + 1;
var head = document.querySelector("head");
var style = document.createElement("style");
style.innerText = ":root { --window-height-factor:".concat(factor, " }");
head.appendChild(style);
}
function roundToNearestHalf(num) {
var round = Math.round(num * 2) / 2;
return Math.max(round, 0);
}
setWindowHeightFactor();
2024-01-26 08:52:00 +01:00
document.addEventListener("DOMContentLoaded", function () {
function toggleLogoState() {
var scrollY = window.scrollY || window.pageYOffset;
if (scrollY > 10) {
document.querySelector("#main-header").classList.add("minimized");
2024-01-26 08:52:00 +01:00
} else {
document.querySelector("#main-header").classList.remove("minimized");
2024-01-26 08:52:00 +01:00
}
}
2024-04-07 07:29:27 +02:00
window.window.scrollTo({
top: 0
});
2024-01-26 08:52:00 +01:00
window.addEventListener("scroll", function () {
toggleLogoState();
});
2024-03-12 17:12:03 +01:00
});