File size: 584 Bytes
4d70170 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
import { onBeforeUnmount, onMounted } from 'vue'
let count = 0
function getScrollingElements() {
return document.querySelectorAll('.vue-ui-disable-scroll, body')
}
function updateScroll() {
if (count === 0) {
getScrollingElements().forEach(el =>
el.classList.remove('vue-ui-no-scroll'),
)
}
else if (count === 1) {
getScrollingElements().forEach(el => el.classList.add('vue-ui-no-scroll'))
}
}
export function useDisableScroll() {
onMounted(() => {
count++
updateScroll()
})
onBeforeUnmount(() => {
count--
updateScroll()
})
}
|