vuux
Version:
Vue3 Nuxt3 Nuxt4 组件库
2 lines (1 loc) • 619 B
JavaScript
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("vue"),m=l=>{const t=n.ref(!1),s=()=>document.documentElement.scrollTop||document.body.scrollTop,o=()=>{t.value=s()>=l.height},i=e=>e<.5?2*e*e:-1+(4-2*e)*e,u=()=>{const e=Date.now(),a=s(),r=()=>{const c=(Date.now()-e)/500;if(c<1){const d=a*(1-i(c));window.scrollTo(0,d),requestAnimationFrame(r)}else window.scrollTo(0,0)};requestAnimationFrame(r)};return n.onMounted(()=>{window.addEventListener("scroll",o),o()}),n.onUnmounted(()=>{window.removeEventListener("scroll",o)}),{visible:t,handleClick:u}};exports.useBackTop=m;