75 lines
2.1 KiB
JavaScript
75 lines
2.1 KiB
JavaScript
// Variables
|
|
let acc = document.getElementsByClassName("accordion");
|
|
|
|
// Set up accordion
|
|
for (let i = 0; i < acc.length; i++) {
|
|
acc[i].addEventListener("click", accordionClick);
|
|
}
|
|
|
|
function accordionClick() {
|
|
let active = false
|
|
let activeElements = document.getElementsByClassName("active")
|
|
while (activeElements[0]) {
|
|
let activeElement = activeElements[0]
|
|
activeElement.classList.remove("active");
|
|
activeElement.nextElementSibling.style.maxHeight = null;
|
|
if (activeElement == this)
|
|
active = true
|
|
}
|
|
|
|
if (active) return
|
|
|
|
this.classList.add("active")
|
|
let panel = this.nextElementSibling;
|
|
panel.style.maxHeight = panel.scrollHeight + "px";
|
|
}
|
|
|
|
// Set up fullscreen buttons (used on pages with embedded games)
|
|
function fullscreen() {
|
|
// check if fullscreen mode is available
|
|
if (document.fullscreenEnabled ||
|
|
document.webkitFullscreenEnabled ||
|
|
document.mozFullScreenEnabled ||
|
|
document.msFullscreenEnabled) {
|
|
|
|
// which element will be fullscreen
|
|
var iframe = document.getElementById('embed');
|
|
// Do fullscreen
|
|
if (iframe.requestFullscreen) {
|
|
iframe.requestFullscreen();
|
|
} else if (iframe.webkitRequestFullscreen) {
|
|
iframe.webkitRequestFullscreen();
|
|
} else if (iframe.mozRequestFullScreen) {
|
|
iframe.mozRequestFullScreen();
|
|
} else if (iframe.msRequestFullscreen) {
|
|
iframe.msRequestFullscreen();
|
|
}
|
|
iframe.contentWindow.focus();
|
|
}
|
|
else {
|
|
console.log('Your browser is not supported');
|
|
}
|
|
}
|
|
|
|
let btn = document.getElementById('fullscreenBtn')
|
|
if (btn) btn.addEventListener('click', fullscreen)
|
|
|
|
var carousel = document.getElementById('carousel');
|
|
let slides = carousel.querySelectorAll('.slide');
|
|
let indicators = carousel.querySelectorAll('.indicator');
|
|
|
|
function setSlide(slide) {
|
|
return function() {
|
|
// Reset all slides
|
|
for (let i = 0; i < indicators.length; i++) {
|
|
slides[i].classList.remove("active-slide");
|
|
}
|
|
|
|
// Set defined slide as active
|
|
slides[slide].classList.add("active-slide");
|
|
};
|
|
}
|
|
|
|
for (let i = 0; i < indicators.length; i++) {
|
|
indicators[i].addEventListener("click", setSlide(i));
|
|
}
|