-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathnav.min.js
1 lines (1 loc) · 2.15 KB
/
nav.min.js
1
function rotateArrow(){document.querySelectorAll(".rotatearrow").forEach(function(e){e.addEventListener("click",function(){var t=e.querySelector(".arrow");t.classList.contains("rotate")?t.classList.remove("rotate"):t.classList.add("rotate")})})}function toggleSidebar(){var e=document.body,t=e.querySelector(".sidebar");e.querySelector("#toggle-sidebar").addEventListener("click",function(){e.classList.contains("sidebar-isopened")?(e.classList.remove("sidebar-isopened"),t.classList.remove("opened")):(e.classList.add("sidebar-isopened"),t.classList.add("opened"))})}function detectClickOutside(){var e=document.body,t=document.querySelector(".sidebar"),o=e.querySelector("#toggle-sidebar");window.addEventListener("click",function(s){t.contains(s.target)||o.contains(s.target)||!e.classList.contains("sidebar-isopened")||(e.classList.remove("sidebar-isopened"),t.classList.remove("opened"))})}function styleScrollbar(){var e=document.querySelector(".sidebar");document.addEventListener("DOMContentLoaded",function(){OverlayScrollbars(e,{className:"os-theme-light"})})}function hideNavItems(){var e=document.querySelector("#show-searchbox"),t=document.querySelector(".nav-start"),o=document.querySelector(".nav-end"),s=document.querySelector(".nav-form"),r=document.querySelector("#hide-searchbox");e.addEventListener("click",function(){t.classList.add("d-none"),o.classList.add("d-none"),s.classList.remove("d-none"),r.classList.remove("d-none")})}function showNavItems(){var e=document.querySelector(".nav-start"),t=document.querySelector(".nav-end"),o=document.querySelector(".nav-form"),s=document.querySelector("#hide-searchbox");s.addEventListener("click",function(){e.classList.remove("d-none"),t.classList.remove("d-none"),o.classList.add("d-none"),s.classList.add("d-none")})}const targets=document.querySelectorAll("img.card-img-top, img.avatar"),lazyLoad=e=>{new IntersectionObserver((e,t)=>{console.log(e),e.forEach(e=>{if(console.log("😍"),e.isIntersecting){const o=e.target,s=o.getAttribute("data-lazy");o.setAttribute("src",s),t.disconnect()}})}).observe(e)};targets.forEach(lazyLoad),rotateArrow(),toggleSidebar(),detectClickOutside(),styleScrollbar(),hideNavItems(),showNavItems();