hexo-theme-redefine
Version:
Redefine your writing with Hexo Theme Redefine.
2 lines • 1.14 kB
JavaScript
let t=!1;const toggleStyle=(t,e,l,a)=>{t.style[e]=t.style[e]===l?a:l},getParentElements=()=>Array.from(document.querySelectorAll(".all-category-list-item")).filter((t=>t.parentElement?.classList.contains("all-category-list"))),handleCategoryClick=t=>{const e=t.target.closest(".all-category-list-item");if(!e)return;if(!e.parentElement?.classList.contains("all-category-list"))return;e.querySelectorAll(".all-category-list-child").forEach((t=>{toggleStyle(t,"maxHeight","0px","1000px"),toggleStyle(t,"marginTop","0px","15px")}));const l=getParentElements(),a=e.offsetTop;l.forEach((t=>{if(t.offsetTop===a&&t!==e){t.querySelectorAll(".all-category-list-child").forEach((t=>{toggleStyle(t,"maxHeight","0px","1000px"),toggleStyle(t,"marginTop","0px","15px")}))}}))};export default function initCategoryList({signal:e}={}){getParentElements().forEach((t=>{t.querySelectorAll(".all-category-list-child").forEach((t=>{t.style.maxHeight="0px",t.style.marginTop="0px"}))})),t||(t=!0,e?document.addEventListener("click",handleCategoryClick,{signal:e}):document.addEventListener("click",handleCategoryClick))}
//# sourceMappingURL=categoryList.js.map