web-dev-qa-db-ja.com

要素のScrollTopを設定するためのクロスブラウザメソッド?

たとえば、divタグの右側にスクロールバーがあるdivタグがあります。
divを最後の行で表示したいので、次のようにします。

document.getElementById("divscroll").scrollTop = 250000;

Firefoxで最後までスクロールさせることはできますが、IEイベントの数が多いと成功しません!
単純なCross-borwserスクリプトはありますか(JQueryや大きなフレームワークではありません!)

15
nvcnvn

scrollTopはすべての主要なブラウザで機能します。

要素の一番下までスクロールするには:

var div = document.getElementById('divscroll');
div.scrollTop = div.scrollHeight - div.clientHeight;

clientHeightはブラウザ間でも機能します 、および scrollHeightほとんどは機能します

15
Matt Ball

overflowプロパティが設定されていることを確認してください。

<div id="divscroll" style="height: 100px; width: 100px; overflow: scroll;">
 //// something something 
</div>
5
Dmitriy Naumov

スクロール位置を、任意の大きな数ではなく、実際の数字に設定してみてください。

document.getElementById("divscroll").scrollTop = document.getElementById("divscroll").scrollHeight; 
1
Chris Baker