diff --git a/docs/.vuepress/components/md/virtual.vue b/docs/.vuepress/components/md/virtual.vue index 384249348c21face8aa924472e515a65bf7bf426..866bb9132a9dbf8050fa5de2993359c26d8dc7d5 100644 --- a/docs/.vuepress/components/md/virtual.vue +++ b/docs/.vuepress/components/md/virtual.vue @@ -20,10 +20,12 @@ [...contentChildren].forEach((child, index) => { if (child.nodeName === 'UL') { const ulHeight = child.clientHeight; - const isVisible = visibleHeight + window.scrollY > child.offsetTop - 500; + const ulOffsetTop = child.offsetTop; + const isVisible = visibleHeight + window.scrollY > ulOffsetTop - 500; + const isOver = window.scrollY > ulOffsetTop + ulHeight child.style.height = `${ulHeight}px`; - if (!isVisible) { + if (!isVisible || isOver) { const _ul = document.createDocumentFragment(); [...child.children].forEach(item => _ul.appendChild(item)); (!this.contentFrame[index] || !this.contentFrame[index].children.length) &&