mirror of
https://github.com/notion-enhancer/notion-enhancer.git
synced 2025-04-19 02:59:02 +00:00
Calculate percentage every update (as opposed to every page change)
This commit is contained in:
parent
980528699e
commit
1e4d0e077a
@ -67,6 +67,8 @@ module.exports = {
|
||||
})
|
||||
|
||||
let queue = [];
|
||||
let scroller = document.querySelector('.notion-frame > .notion-scroller');
|
||||
|
||||
const observer = new MutationObserver((list, observer) => {
|
||||
if (!queue.length) requestAnimationFrame(() => process(queue));
|
||||
queue.push(...list);
|
||||
@ -77,6 +79,14 @@ module.exports = {
|
||||
});
|
||||
function process(list) {
|
||||
queue = [];
|
||||
|
||||
let top = scroller.topDistance = store().top;
|
||||
if (top > 0 && store().percent) {
|
||||
let pageContent = document.querySelector('.notion-page-content');
|
||||
if (pageContent)
|
||||
scroller.topDistance *= pageContent.offsetHeight / 100;
|
||||
}
|
||||
|
||||
for (let { addedNodes } of list) {
|
||||
if (
|
||||
addedNodes[0] && (
|
||||
@ -84,22 +94,16 @@ module.exports = {
|
||||
addedNodes[0].className === 'notion-scroller'
|
||||
)
|
||||
) {
|
||||
let top = store().top;
|
||||
if (top> 0) {
|
||||
scroll.classList.add('hidden');
|
||||
|
||||
if (store().percent) {
|
||||
top *= document.querySelector('.notion-page-content').offsetHeight / 100;
|
||||
}
|
||||
|
||||
document
|
||||
.querySelector('.notion-frame > .notion-scroller')
|
||||
.addEventListener('scroll', (event) => {
|
||||
if (event.target.scrollTop < top)
|
||||
scroll.classList.add('hidden');
|
||||
else
|
||||
scroll.classList.remove('hidden');
|
||||
})
|
||||
scroller = document.querySelector('.notion-frame > .notion-scroller');
|
||||
scroller.addEventListener('scroll', (event) => {
|
||||
if (event.target.scrollTop < scroller.topDistance)
|
||||
scroll.classList.add('hidden');
|
||||
else
|
||||
scroll.classList.remove('hidden');
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user