スクロールバーのつまみの正しい位置を検出しようとしています。これが可能かどうか誰かが説明してもらえますか。スクロールバーのサムネイルの幅は固定されていません。nw.js、ES6、および jQuery ライブラリを使用しています。
以下は、私のコードの簡略化された抽出です。
class C {
constructor() {
win.on('resize', this._resize.bind(this));
$('#divId').on('scroll', this._scroll.bind(this));
}
_getXScrollbarThumbPos() {
let lpos = $('#divId').scrollLeft();
let rpos = lpos + SCROLLBAR_THUMBNAIL_WIDTH; // FIXME how can I get the scrollbarThumbnailWidth
return rpos;
}
_resize() {
let x = this._getXScrollbarThumbPos();
//..
}
_scroll() {
let x = this._getXScrollbarThumbPos();
//..
}
}
サイズ変更とスクロール リスナーは正常に機能します。唯一のボトルネックは、スクロールバー サムネイルの幅を決定する方法です。win
DOM のウィンドウの nw.js ラッパーです。ここを参照してください(初期化は質問に関係ないため、ここでは示されていません)。