42 lines
1.4 KiB
JavaScript
42 lines
1.4 KiB
JavaScript
document.addEventListener('DOMContentLoaded', function () {
|
|
const sidebar = document.getElementById('sidebar');
|
|
const content = document.getElementById('content');
|
|
const sidebarCollapse = document.getElementById('sidebarCollapse');
|
|
const backToTop = document.getElementById('back-to-top');
|
|
|
|
// Sidebar Toggle for Mobile
|
|
if (sidebarCollapse) {
|
|
sidebarCollapse.addEventListener('click', function () {
|
|
sidebar.classList.toggle('active');
|
|
content.classList.toggle('active');
|
|
});
|
|
}
|
|
|
|
// Back to Top functionality
|
|
window.addEventListener('scroll', function () {
|
|
if (window.scrollY > 300) {
|
|
backToTop.style.display = 'block';
|
|
} else {
|
|
backToTop.style.display = 'none';
|
|
}
|
|
});
|
|
|
|
backToTop.addEventListener('click', function () {
|
|
window.scrollTo({
|
|
top: 0,
|
|
behavior: 'smooth'
|
|
});
|
|
});
|
|
|
|
// Close sidebar when clicking outside on mobile
|
|
document.addEventListener('click', function (event) {
|
|
const isClickInsideSidebar = sidebar.contains(event.target);
|
|
const isClickInsideCollapse = sidebarCollapse ? sidebarCollapse.contains(event.target) : false;
|
|
|
|
if (!isClickInsideSidebar && !isClickInsideCollapse && window.innerWidth <= 768) {
|
|
sidebar.classList.remove('active');
|
|
content.classList.remove('active');
|
|
}
|
|
});
|
|
});
|