Skip to content

Always scroll to clicked sidebar content #522

Description

@jhildenbiddle

Docsify does not scroll to the clicked sidebar link content if the link was the last sidebar link clicked.

  1. Visit the Markdown section on the docsify-themeable site
  2. Click any section link (Ex: Code)
  3. Scroll the page
  4. Click the same section link

I believe the expectation is that docsify would scroll back to the section clicked.

Perhaps removing the hash from the URL, then updating it with the section hash would provide a quick fix?

Activity

  1. SidVal commented on Jun 7, 2018

    @SidVal
    Member

    I think you are talking about this 🐛 #422, aren't you?

  2. jhildenbiddle commented on Jun 7, 2018

    @jhildenbiddle
    MemberAuthor

    The two issues are closely related, but the descriptions of how to proceed are different.

    I believe the fix for this issue is straightforward: when a user clicks a link in the sidebar, always scroll that content into view at the top of the viewport--even if it's the active link / URL. If a user clicks a sidebar link, then waits for the content to scroll into view, then scrolls 10 pixels, clicking the same sidebar link should scroll the content back 10px to the initial scroll position. That's it.

    For #422, I agree that the sidebar should always reflect the current scroll position of the page: as the user scrolls, the active link in the sidebar should be highlighted in all scenarios. I do not , however, think the URL should be updated as the page is scrolled. Instead, the URL should be updated only when a user-initiated navigation action has occurred (i.e. clicking a sidebar link).

  3. qmarcos commented on Sep 12, 2018

    @qmarcos

    +1 to this.

    I can manual fix it creating links with full parameters in href value.

    For example, if my first heading in a sample.md page is "01. Introduction", I could achieve page change and reset scroll position with this link:

    [My Link](/sample.md?id=_01-introduction)

    But it could be perfect that changing section always reset scroll position to the top, is natural behaviour when changing the main content.

    A colateral issue with this approach appears when I attempt to replicate this behaviour on sidebar.md links, I get wrong subnavigation rendering (subnavigation is attached under main navigation item that is not the selected one).

  4. added this to the 4.x milestone on Jan 29, 2019
  5. anikethsaha commented on May 14, 2020

    @anikethsaha
    Member

    I think this has been fixed in develop.

  6. removed this from the 4.x milestone on Jun 14, 2020
  7. macrozone commented on Dec 29, 2020

    @macrozone

    is there an update on this?

  8. pkieltyka commented on Aug 21, 2021

    @pkieltyka

    hi, also checking if this has been fixed? seems like a bug that really hurts the UX .. is there a common/easy solution?

  9. sifex commented on Sep 24, 2021

    @sifex

    Hey all, I believe this is the configuration parameter that is required to be changed from the default:
    https://docsify.js.org/#/configuration?id=auto2top

  10. beth-panx commented on Feb 17, 2022

    @beth-panx

    Still seeing this bug. Even with config of auto2top=true set.

  11. self-assigned this
    on Jul 23, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugconfirmed as a bug

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions