docsifyjs / docsify

šŸƒ A magical documentation site generator.
https://docsify.js.org
MIT License
27.47k stars 5.67k forks source link

Fix auto-scroll undershooting correction location on initial page load #2237

Closed nrankin18 closed 1 year ago

nrankin18 commented 1 year ago

Summary

Bug: Navigating to an anchor link on docs with images causes the initial auto-scroll to "undershoot" the correct location. This is because the scroll location is calculated prior to the images loading, so the image heights aren't accounted for in the location calculation.

Fix: Replace Tweezer animation with scrollIntoView which adjusts for image heights.

Additional Bug: Auto-scroll on an initial page load does not scroll the appropriate sidebar element into view. This is because the #highlight function was blocked while the Tweezer animation was running.

Fix: Delay the #highlight function from running until scrollIntoView has finished.

Related issue, if any:

https://github.com/docsifyjs/docsify/issues/351 https://github.com/docsifyjs/docsify/issues/559

What kind of change does this PR introduce?

Bugfix

For any code change,

Does this PR introduce a breaking change?

No

Tested in the following browsers:

vercel[bot] commented 1 year ago

The latest updates on your projects. Learn more about Vercel for Git ā†—ļøŽ

Name Status Preview Comments Updated (UTC)
docsify-preview āœ… Ready (Inspect) Visit Preview šŸ’¬ Add feedback Sep 24, 2023 7:40pm