テーブルを含む div があります。このテーブルは動的に更新され、ユーザーが Web サイトを使用するにつれてデータがいっぱいになります。この div を常に下にスクロールするように強制することはできますか? これにより、ユーザーは追加された一番下のテーブル行を常に見ることができます。ありがとうございました!
6 に答える
それは次のようなものになります
...onRowAdded = function() {
$('#myTable').animate({scrollTop: $('#myTable').attr('scrollHeight')});
};
行が非常に頻繁に追加される場合は、最初に変数チェックをブロックする setTimeout を使用して、1 秒あたり 2 回以上頻繁に下にスクロールしないようにする必要があることに注意してください。この手法については、たとえばここで説明されています
アップデート
jQuery 1.6 以降では、.attr() の代わりに .prop() を使用することをお勧めします (この質問へのコメントを参照してください)。
onRowAdded = function() {
$('#myTable').animate({scrollTop: $('#myTable').prop('scrollHeight')});
};
それのようなものを試してください:
のようなアンカーを作成し、<a id='bottomDiv'></a>
このような JavaScript を挿入しますdocument.getElementById('bottomOfDiv').scrollIntoView(true);
ここで例を作成しました http://jsfiddle.net/PTmpL/1/
update 要素を position absolute および bottom:0 として設定します
これは簡単な解決策になると思います!!!
element.scrollTo(element.get(0).scrollHeight);
このチュートリアルに従ってください
http://jqueryfordesigners.com/fixed-floating-elements/
ただし、bottom
css プロパティを使用して、一番下の要素をページに表示します
element{
bottom:0;
}
I'd recommend using the ScrollTo JQuery plugin. Just use
element.scrollTo('max', {axis: 'y'});
or
element.scrollTo('max', duration, {axis: 'y'});
This plugin has the added benifit of having a nice smooth scroll.