outstock_nuxt3/components/back-to-top/BackToTop.vue

27 lines
690 B
Vue
Raw Normal View History

2023-08-01 11:11:43 +00:00
<template>
<div class="scroll-top" id="scroll" style="display: none;">
<a href="#"><i class="fas fa-level-up-alt"></i></a>
</div>
</template>
<script lang="ts">
import { defineComponent } from "vue";
export default defineComponent({
mounted() {
const result = document.querySelector<HTMLElement>(".scroll-top");
if (result) {
document.addEventListener("scroll", () => {
if (window.scrollY > 200) {
result.style.display = "block";
} else {
result.style.display = "none";
}
});
result.addEventListener("click", () => {
window.scrollTo({ top: 0, behavior: "smooth" });
});
}
},
});
</script>