Skip to content

使用「文档树层级指示竖线」导致展开或收起子文档时跳动到文档树顶部 #10

Closed
@TCOTC

Description

@TCOTC
Contributor

如视频演示,对比了不开启插件和仅开启「文档树层级指示竖线」的情况:

2024-01-31.12-43-39.mp4

Activity

zxkmm

zxkmm commented on Jan 31, 2024

@zxkmm
Owner

感谢反馈!
我这边确实复现了。但是我目前暂时想不到会是什么造成的,因为指示竖线本质上只是css边框。
另外我还注意到,即使禁用所有的插件,思源的文档树展开和收缩时候也依然会出现跳动的情况,有时候严重有时候不严重,相比obsidian就没发现这样的奇怪情况。
所以可能不全是插件这边的原因,具体的我会排查一下为什么插件加重了这个情况,但是要修整到像obsidian那样顺畅可能需要动思源主程序。主程序那边我有空也会去看一下,最近在弄另外的项目

TCOTC

TCOTC commented on Jan 31, 2024

@TCOTC
ContributorAuthor

又发现一个问题:当文档树展开较长时,如果打开的文档在靠后的位置,点击「定位打开的文档」后虽然文档树正确展开了,但也会跳动到文档树顶部

zxkmm

zxkmm commented on Jan 31, 2024

@zxkmm
Owner

diergewf

reopened this on Jan 31, 2024
zxkmm

zxkmm commented on Jan 31, 2024

@zxkmm
Owner

抱歉点错了,请问第二个问题是发生在指示线伪元素存在时候还是其他功能呢?

TCOTC

TCOTC commented on Jan 31, 2024

@TCOTC
ContributorAuthor

还是仅使用「文档树层级指示竖线」的情况

zxkmm

zxkmm commented on Jan 31, 2024

@zxkmm
Owner

刚才排查了一下,感觉还是思源的文档树定位的问题。
个人猜测思源现在的文档树定位实现是通过计算item的数量然后再乘像素高度,然后滚动到乘出来的数来实现的。
所以伪元素存在以后,计算结果就变成两倍,就滚动太多了。
这个就麻烦了,因为没有伪元素就没办法加指示线,插件没办法动思源的那个部分,除非我自己重新实现滚动功能。
当然如果能让V重写一下滚动的部分就更好了,毕竟不是我的代码所以我想要上手还是得一两个月的。而且思源不开插件也有滚动乱跳的问题,只是不严重。可能算法本身就有问题。

zxkmm

zxkmm commented on Jan 31, 2024

@zxkmm
Owner

(我仅仅是看表面现象凭经验猜测,我还没有去读思源的源代码)

TCOTC

TCOTC commented on Feb 6, 2024

@TCOTC
ContributorAuthor
zxkmm

zxkmm commented on Feb 6, 2024

@zxkmm
Owner

谢谢,等我有空测一下其他edge case

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @zxkmm@TCOTC

        Issue actions

          使用「文档树层级指示竖线」导致展开或收起子文档时跳动到文档树顶部 · Issue #10 · zxkmm/siyuan_doctree_compress