2012年3月16日金曜日

jQueryでスクロールバー操作のメモ

jQueryで id="log" なテキストエリアのスクロールバーを常に最下部にする。というのをやろうとして詰まった時のメモ。
 JavaScriptの場合
log = document.getElementById('log');
log.scrollTop = log.scrollHeight;
なんだけど、jQueryで
$("#log").scrollTop($("#log").scrollHeight()); とやると、 scrollHeightが取れなくて駄目でした。
jsdo.itで見かけたやり方でやってみたらうまくいったのでメモ。
$("#log").scrollTop($("#log")[0].scrollHeight); うまくいったものの、何故 [0]が必要なのかよく理解できてません。
#logテキストエリアのscrollHeight って複数ある可能性があるのかな……。
$("#log").scrollTop($("#log").prop('scrollHeight')); propでもちゃんと動きました。
$("#log").scrollTop($("#log").attr('scrollHeight'));  attrでは駄目でした。
jQueryのバージョンは1.7.1です。

 追記

理由わかった! Kai-coo Plog: jQueryでgetElementByIdを書くときの注意

0 件のコメント:

コメントを投稿