前提・実現したいこと
現在、自分の力試しで chrome 拡張の開発をしています
拡張の内容は、ブラウザ版 slack(https://app.slack.com/...) にて、
自分の指定した channel だけを channel 一覧サイドバーの Starred(お気に入り)の前方に持って来る、
いわばお気に入りの中のお気に入りみたいなのを作る機能です
できていること
channel を表す div の DOM の一覧は getElementsByClassName('p-channel_sidebar__static_list').children
で取得でき、この中で前方に持って来たい channel の div を getElementsByClassName('p-channel_sidebar__static_list')[0]
に対して prepend
することで見た目上の channel の順番を入れ替えることには成功しました
発生している問題
ところが、前方に持ってきた channel をクリックすると、「元々その channel が存在していた場所」までサイドバーのスクロール位置が自動的に変化してしまいます
質問内容
こういったサイドバーのスクロール位置の変更を抑制するための何かスマートな解決策は無いでしょうか?
できるかはわかりませんがスクロールを一時的に無効にしたり、スクロール処理に割り込んだり、処理を上書きしたりなどが考えられるのですが、調べてもあまり有用な解決策が見つからず、、
Javascript での開発経験があまりなく、あまり基本的なことを理解していないかも知れませんがよろしくおねがいします
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/05 16:38 編集
2019/12/06 00:41
2019/12/07 05:24 編集