main.min.js 2.2 KB

1
  1. let lastScrollPosition=window.pageYOffset,header=document.getElementById("site-header");const autoHideHeader=()=>{let e=window.pageYOffset;e>lastScrollPosition?(header.classList.remove("slideInUp"),header.classList.add("slideOutDown")):(header.classList.remove("slideOutDown"),header.classList.add("slideInUp")),lastScrollPosition=e};let mobileMenu=document.getElementById("mobile-menu");1==haveHeader&&document.getElementById("menu-btn").addEventListener("click",()=>{"none"==mobileMenu.style.display?mobileMenu.style.display="block":(mobileMenu.classList.remove("bounceInRight"),mobileMenu.classList.add("bounceOutRight"),setTimeout(()=>{mobileMenu.style.display="none",mobileMenu.classList.remove("bounceOutRight"),mobileMenu.classList.add("bounceInRight")},750))});const showFeaturedImg=()=>{document.getElementById("bg-img").classList.add("show-bg-img")},showContent=()=>{document.getElementById("bg-img").classList.remove("show-bg-img")};let commentsLoaded=!1,comments=document.getElementById("comments"),commentsLoader=document.getElementById("comments-loader");const avJsUrl="//cdn1.lncld.net/static/js/3.0.4/av-min.js",valineJsUrl="//unpkg.com/valine@1.1.9/dist/Valine.min.js",loadScript=(e,t,o=!0,n=!0)=>new Promise((s,d)=>{function l(e,t){(t||!a.readyState||/loaded|complete/.test(a.readyState))&&(a.onload=null,a.onreadystatechange=null,a=void 0,t?d():s())}let a=document.createElement("script");const m=t||document.getElementsByTagName("script")[0];a.async=o,a.defer=n,a.onload=l,a.onreadystatechange=l,a.src=e,m.parentNode.insertBefore(a,m)}),loadComments=()=>{loadScript(avJsUrl).then(()=>{loadScript(valineJsUrl).then(()=>{new Valine({el:"#comments",appId:"QfBLso0johYg7AXtV9ODU6FC-gzGzoHsz",appKey:"J1tpEEsENa48aLVsPdvwMP14",placeholder:"说点什么吧",verify:!0}),commentsLoader.style.display="none"},()=>{})},()=>{})};1==haveComments&&comments.offsetTop<window.innerHeight&&(commentsLoader.style.display="block",loadComments(),commentsLoaded=!0),window.addEventListener("scroll",()=>{1==haveHeader&&(autoHideHeader(),mobileMenu.style.display="none"),1==haveComments&&0==commentsLoaded&&window.pageYOffset+window.innerHeight>comments.offsetTop&&(commentsLoader.style.display="block",loadComments(),commentsLoaded=!0)});