mirror of
https://github.com/notion-enhancer/notion-enhancer.git
synced 2025-04-19 11:09:03 +00:00
Fixed bug with button visibility when opening pages
This commit is contained in:
parent
579aa84f80
commit
2cf7e45d94
@ -71,6 +71,7 @@ module.exports = {
|
|||||||
|
|
||||||
let queue = [];
|
let queue = [];
|
||||||
let $scroller = document.querySelector('.notion-frame > .notion-scroller');
|
let $scroller = document.querySelector('.notion-frame > .notion-scroller');
|
||||||
|
let top = store().top || 0;
|
||||||
|
|
||||||
const observer = new MutationObserver((list, observer) => {
|
const observer = new MutationObserver((list, observer) => {
|
||||||
if (!queue.length) requestAnimationFrame(() => process(queue));
|
if (!queue.length) requestAnimationFrame(() => process(queue));
|
||||||
@ -83,13 +84,7 @@ module.exports = {
|
|||||||
|
|
||||||
function process(list) {
|
function process(list) {
|
||||||
queue = [];
|
queue = [];
|
||||||
|
setScrollDistance();
|
||||||
let top = $scroller.top_distance = store().top || 0;
|
|
||||||
if (top > 0 && store().percent) {
|
|
||||||
let content_height = Array.from($scroller.children)
|
|
||||||
.reduce((h, c) => h + c.offsetHeight, 0);
|
|
||||||
$scroller.top_distance *= (content_height - $scroller.offsetHeight) / 100;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (let { addedNodes } of list) {
|
for (let { addedNodes } of list) {
|
||||||
if (
|
if (
|
||||||
@ -101,9 +96,10 @@ module.exports = {
|
|||||||
$scroll.classList.add('hidden');
|
$scroll.classList.add('hidden');
|
||||||
|
|
||||||
$scroller = document.querySelector('.notion-frame > .notion-scroller');
|
$scroller = document.querySelector('.notion-frame > .notion-scroller');
|
||||||
|
setScrollDistance();
|
||||||
|
|
||||||
$scroller.addEventListener('scroll', (event) => {
|
$scroller.addEventListener('scroll', (event) => {
|
||||||
if (!$scroller.top_distance || Math.ceil(event.target.scrollTop) < $scroller.top_distance)
|
if (Math.ceil(event.target.scrollTop) < $scroller.top_distance)
|
||||||
$scroll.classList.add('hidden');
|
$scroll.classList.add('hidden');
|
||||||
else
|
else
|
||||||
$scroll.classList.remove('hidden');
|
$scroll.classList.remove('hidden');
|
||||||
@ -111,6 +107,15 @@ module.exports = {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function setScrollDistance() {
|
||||||
|
$scroller.top_distance = top;
|
||||||
|
if (top > 0 && store().percent) {
|
||||||
|
let content_height = Array.from($scroller.children)
|
||||||
|
.reduce((h, c) => h + c.offsetHeight, 0);
|
||||||
|
$scroller.top_distance *= (content_height - $scroller.offsetHeight) / 100;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user