mirror of
https://github.com/Sped0n/bridget.git
synced 2026-04-18 20:19:30 -07:00
1 line
4.3 KiB
JavaScript
1 line
4.3 KiB
JavaScript
import{W as e,s as t,n,f as a,l as s,g as c,h as o,r as i,c as r,i as d}from"./main.js";const l=new e(!1);function m(e,t){return Math.floor(Math.random()*(t-e+1))+e}let p,u,g,y,h,v=[],E=[],f=[],w=-1,x=!1;function N(){d.get()||(d.set(!0),f[t.get().index].scrollIntoView({block:"center",behavior:"auto"}),y.to(u,{y:"100%",ease:"power3.inOut",duration:1}),y.to(g,{opacity:0,duration:1.2,delay:.4}),setTimeout((()=>{a.set(!0),d.set(!1),w=-1}),1600))}let B=[];function T(e){c(e),!d.get()&&x&&(d.set(!0),y.to(g,{opacity:1,duration:1}),y.to(u,{y:0,ease:"power3.inOut",duration:1,delay:.4}),setTimeout((()=>{a.set(!1),d.set(!1)}),1400))}function C(e){(function(e){!function(e){const t=document.createElement("div");t.className="collection";for(const[n,a]of e.entries()){const e=0!==n?m(-25,25):0,s=0!==n?m(-30,30):0,c=document.createElement("img");c.dataset.src=a.loUrl,c.height=a.loImgH,c.width=a.loImgW,c.alt=a.alt,c.style.transform=`translate3d(${e}%, ${s-50}%, 0)`,t.append(c)}r.append(t)}(e);const t=document.getElementsByClassName("collection").item(0);l.addWatcher((e=>{e?t.classList.remove("hidden"):t.classList.add("hidden")})),B=Array.from(t.getElementsByTagName("img")),B.forEach(((e,t)=>{var n,a;t<5&&(e.src=e.dataset.src),e.addEventListener("click",(()=>{T(t)}),{passive:!0}),e.addEventListener("keydown",(()=>{T(t)}),{passive:!0}),n=e,a=e=>!(e.intersectionRatio<=0||(t+5<B.length&&(B[t+5].src=B[t+5].dataset.src),0)),new IntersectionObserver(((e,t)=>{for(const n of e)if(a(n)){t.disconnect();break}})).observe(n)}))})(e),function(e){!function(e){const n=document.createElement("div");n.className="swiper-wrapper";const a=r.dataset.loading+"...";for(const s of e){const e=document.createElement("div");e.className="swiper-slide";const c=document.createElement("div");c.className="loadingText",c.innerText=a;const o=document.createElement("img");o.dataset.src=s.hiUrl,o.height=s.hiImgH,o.width=s.hiImgW,o.alt=s.alt,o.style.opacity="0",o.addEventListener("load",(()=>{t.get().index!==s.index?(y.set(o,{opacity:1}),y.set(c,{opacity:0})):(y.to(o,{opacity:1,delay:.5,duration:.5,ease:"power3.out"}),y.to(c,{opacity:0,duration:.5,ease:"power3.in"}))}),{once:!0,passive:!0});const i=document.createElement("div");i.className="slideContainer",i.append(o),i.append(c),e.append(i),n.append(e)}const s=document.createElement("div");s.className="galleryInner",s.append(n);const c=document.createElement("div");c.insertAdjacentHTML("afterbegin",'<span class="num"></span><span class="num"></span><span class="num"></span><span class="num"></span>\n <span>/</span>\n <span class="num"></span><span class="num"></span><span class="num"></span><span class="num"></span>');const o=document.createElement("div");var i;o.innerText=(i=r.dataset.close).charAt(0).toUpperCase()+i.slice(1),o.addEventListener("click",(()=>{N()}),{passive:!0}),o.addEventListener("keydown",(()=>{N()}),{passive:!0});const d=document.createElement("div");d.className="nav",d.append(c,o);const l=document.createElement("div");l.className="gallery",l.append(s),l.append(d);const m=document.createElement("div");m.className="curtain",r.append(l,m)}(e),v=Array.from(document.getElementsByClassName("nav").item(0)?.getElementsByClassName("num")??[]),p=document.getElementsByClassName("galleryInner").item(0),u=document.getElementsByClassName("gallery").item(0),g=document.getElementsByClassName("curtain").item(0),E=Array.from(u.getElementsByTagName("img")),f=Array.from(document.getElementsByClassName("collection").item(0)?.getElementsByTagName("img")??[]),t.addWatcher((e=>{var a;e.index!==w&&(-1===w?n.set("none"):e.index<w?n.set("prev"):e.index>w?n.set("next"):n.set("none"),a=e.index,function(){let e=[];const a=t.get().index,s=Math.min(a+1,t.get().length-1),c=Math.max(a-1,0);switch(n.get()){case"next":e=[s];break;case"prev":e=[c];break;case"none":e=[a,s,c]}i(e).forEach((e=>{const t=E[e];t.src!==t.dataset.src&&(t.src=t.dataset.src)}))}(),h.slideTo(a,0),function(){const e=o(t.get().index+1),n=o(t.get().length);v.forEach(((t,a)=>{t.innerText=a<4?e[a]:n[a-4]}))}(),w=e.index)})),l.addWatcher((e=>{e&&a.set(!0)})),window.addEventListener("touchstart",(()=>{s().then((e=>{y=e})).catch((e=>{console.log(e)})),async function(){return(await import("./zXhbFx.js")).Swiper}().then((e=>{h=new e(p,{spaceBetween:20}),h.on("slideChange",(({realIndex:e})=>{c(e)}))})).catch((e=>{console.log(e)})),x=!0}),{once:!0,passive:!0}),l.set(!0)}(e)}export{C as initMobile}; |