motion-v
Version:
<p align="center"> <img width="100" height="100" alt="Motion logo" src="https://user-images.githubusercontent.com/7850794/164965523-3eced4c4-6020-467e-acde-f11b7900ad62.png" /> </p> <h1 align="center">Motion for Vue</h1>
21 lines (20 loc) • 514 B
JavaScript
import { ref, onMounted, onUnmounted } from "vue";
function usePageInView() {
const isInView = ref(true);
const handleVisibilityChange = () => {
isInView.value = !document.hidden;
};
onMounted(() => {
if (document.hidden) {
handleVisibilityChange();
}
document.addEventListener("visibilitychange", handleVisibilityChange);
});
onUnmounted(() => {
document.removeEventListener("visibilitychange", handleVisibilityChange);
});
return isInView;
}
export {
usePageInView
};