ここにコードを書きました。
setInterval(
function (data){
var alreadyScrolled = $("#smallBox").height() >= $("#smallBox").get()[0].scrollHeight;
$("#smallBox").append(data + "<br />");
if (alreadyScrolled) {
$("#smallBox").scrollTop($("#smallBox").heightoffsetHeight)
}
},
1000,
Date()
);
<div id="largeBox">
<div id="smallBox">
</div>
<input />
</div>
私がやろうとしているのは、スクロールバーがウィンドウの下部にあるかどうかを検出し、そうである場合は、新しいデータを div に追加してから、下にスクロールして戻すことです。スクロールがまだ一番下にない場合は、何もしません。
これを達成するためにDOMまたはjquery APIのどの部分を使用できるかわかりません。複数のことを試してみましたが、ここで行き詰まっています。スクロールバーがどこにあるかという点で、何も価値がないようです。どれだけスクロールできるか。私がそれを得ることができれば、パーセント値は素晴らしいでしょう.
jQuery 以外のライブラリを使用したくありません。つまり、プラグインもありません。
SO チャット ルームで見られるのと同じ動作を取得しようとしていますが、ScrollTo プラグインを使用して目的を達成しているようです。
アップデート。
.height() と .scrollTop だけを使用することはできません。一致しません。
これを参照してください: http://jsfiddle.net/qSx3M/6/