mirror of https://github.com/logseq/logseq
Fix scroll error
parent
9e0f85498d
commit
f8de28b127
|
@ -536,7 +536,7 @@
|
||||||
[name path-params]
|
[name path-params]
|
||||||
(case name
|
(case name
|
||||||
:home
|
:home
|
||||||
"Journals"
|
"Logseq"
|
||||||
:repos
|
:repos
|
||||||
"Repos"
|
"Repos"
|
||||||
:repo-add
|
:repo-add
|
||||||
|
|
|
@ -282,28 +282,29 @@
|
||||||
(+ (.. js/document -body -scrollTop) (.. js/document -documentElement -scrollTop)))
|
(+ (.. js/document -body -scrollTop) (.. js/document -documentElement -scrollTop)))
|
||||||
|
|
||||||
(defn element-top [elem top]
|
(defn element-top [elem top]
|
||||||
(if (.-offsetParent elem)
|
(when elem
|
||||||
(let [client-top (or (.-clientTop elem) 0)
|
(if (.-offsetParent elem)
|
||||||
offset-top (.-offsetTop elem)]
|
(let [client-top (or (.-clientTop elem) 0)
|
||||||
(+ top client-top offset-top (element-top (.-offsetParent elem) top)))
|
offset-top (.-offsetTop elem)]
|
||||||
top))
|
(+ top client-top offset-top (element-top (.-offsetParent elem) top)))
|
||||||
|
top)))
|
||||||
|
|
||||||
(defn scroll-to-element
|
(defn scroll-to-element
|
||||||
[elem-id]
|
[elem-id]
|
||||||
(when-not (re-find #"^/\d+$" elem-id)
|
(when-not (re-find #"^/\d+$" elem-id)
|
||||||
(when elem-id
|
(when elem-id
|
||||||
(let [elem (.getElementById js/document elem-id)
|
(when-let [elem (.getElementById js/document elem-id)]
|
||||||
hop-count (/ speed moving-frequency)
|
(let [hop-count (/ speed moving-frequency)
|
||||||
doc-top (cur-doc-top)
|
doc-top (cur-doc-top)
|
||||||
gap (/ (- (element-top elem 0) doc-top) hop-count)
|
gap (/ (- (element-top elem 0) doc-top) hop-count)
|
||||||
main (gdom/getElement "main-content")]
|
main (gdom/getElement "main-content")]
|
||||||
(doseq [i (range 1 (inc hop-count))]
|
(doseq [i (range 1 (inc hop-count))]
|
||||||
(let [hop-top-pos (* gap i)
|
(let [hop-top-pos (* gap i)
|
||||||
move-to (- hop-top-pos doc-top 68)
|
move-to (- hop-top-pos doc-top 68)
|
||||||
timeout (* moving-frequency i)]
|
timeout (* moving-frequency i)]
|
||||||
(js/setTimeout (fn []
|
(js/setTimeout (fn []
|
||||||
(.scrollTo main 0 move-to))
|
(.scrollTo main 0 move-to))
|
||||||
timeout)))))))
|
timeout))))))))
|
||||||
|
|
||||||
(defn scroll-to-top
|
(defn scroll-to-top
|
||||||
[]
|
[]
|
||||||
|
|
Loading…
Reference in New Issue