@ant-design-vue/use
Version:
Vue 3 Composition Api Library.
38 lines (33 loc) • 860 B
JavaScript
import { ref } from 'vue';
import useEventListener from '../useEventListener';
export default function useScroll(target) {
var position = ref({
left: 0,
top: 0
});
var updatePosition = function updatePosition(currentTarget) {
var newPosition;
if (currentTarget === document) {
if (!document.scrollingElement) return;
newPosition = {
left: document.scrollingElement.scrollLeft,
top: document.scrollingElement.scrollTop
};
} else {
newPosition = {
left: currentTarget.scrollLeft,
top: currentTarget.scrollTop
};
}
position.value = newPosition;
};
var listener = function listener(event) {
if (!event.target) return;
updatePosition(event.target);
};
useEventListener(target, {
type: 'scroll',
listener: listener
});
return position;
}