Skip to content

Commit

Permalink
fix: #879 修复脚注在滚动条在html时无法滚动的问题
Browse files Browse the repository at this point in the history
  • Loading branch information
sunsonliu committed Sep 11, 2024
1 parent 90f3c1d commit ad1362a
Showing 1 changed file with 10 additions and 4 deletions.
14 changes: 10 additions & 4 deletions src/Previewer.js
Original file line number Diff line number Diff line change
Expand Up @@ -946,15 +946,21 @@ export default class Previewer {
* @return {boolean} 是否有对应id的元素并执行滚动
*/
scrollToId(id) {
const dom = this.getDomContainer();
const previewDom = this.getDomContainer();
const scrollDom = this.getDomCanScroll(previewDom);
let $id = id.replace(/^\s*#/, '').trim();
$id = /[%:]/.test($id) ? $id : encodeURIComponent($id);
const target = dom.querySelector(`[id="${$id}"]`) ?? false;
const target = previewDom.querySelector(`[id="${$id}"]`) ?? false;
if (target === false) {
return false;
}
const scrollTop = dom.scrollTop + target.getBoundingClientRect().y - dom.getBoundingClientRect().y - 20;
dom.scrollTo({
let scrollTop = 0;
if (scrollDom.nodeName === 'HTML') {
scrollTop = scrollDom.scrollTop + target.getBoundingClientRect().y - 20;
} else {
scrollTop = scrollDom.scrollTop + target.getBoundingClientRect().y - scrollDom.getBoundingClientRect().y - 20;
}
scrollDom.scrollTo({
top: scrollTop,
left: 0,
behavior: 'smooth',
Expand Down

0 comments on commit ad1362a

Please sign in to comment.