新しいコンテンツが追加されたときに自動的に一番下までスクロールするスクロール可能な div を設定しようとしています。私はこれらを試しました:
this.ele.scrollTop = this.ele.offsetHeight;
this.ele.scrollTop = this.ele.scrollHeight;
しかし、div は幸いにも上部に固定されたままです。私は何を間違っていますか?
おそらく、このバグhttps://code.google.com/p/dart/issues/detail?id=18062に遭遇します。
当面の回避策は、dart:js を介して設定することです (#9 の再現を使用):
import 'dart:html';
import 'dart:js';
void main() {
var ta = new TextAreaElement();
ta.wrap = "off";
document.body.children.add(ta);
ta.text = "abcde 01234 (1) abcde 01234 (2) abcde 01234 (3) abcde 01234 (4) "
"abcde 01234 (5) abcde 01234 (6) abcde 01234 (7) abcde 01234 (8) ";
new JsObject.fromBrowserObject(ta)['scrollLeft'] = '200';
}
(左にスクロールするのではなく) 一番下までスクロールしたい場合、Günter の例にはおそらく現在の scrollHeight をフェッチし、それに応じて scrollTop を設定する必要があります。
JSObject jsObject = new JsObject.fromBrowserObject(scrollableElement);
int scrollHeight = jsObject['scrollHeight'];
jsObject['scrollTop'] = '${scrollHeight}';