11

うまくいけば、これはJavascriptの時間が遅れている人にとって簡単な答えになるでしょう...

接続されているブラウザーにログアウトの新しい行をフィードするスクリプトによって監視されているログ ファイルがあります。何人かの人々が、見たいのはもっと 'tail -f' 動作であるとコメントしています - 閲覧者が何かを見るために上にスクロールするまで、最新の行は常にブラウザーページの一番下に表示されます。一番下までスクロールすると、自動スクロール動作に戻ります。

これに対する私の Google ストライクアウトは、うまくいけば、javascript についてまったく知らないため、検索するキーワードがわからないという問題です。完全な解決策は必要ありません。飛び込んで手を汚すことができる「十分に近い」だけです。

編集:

scrollTop/scrollHeight のアイデアを試してみましたが、明らかに何かが欠けています。私は Javascript でほとんど何もしていないので、ここでも非常に低レベルの質問をしている可能性があります。

<html><body>
<script type="text/javascript">
for (i=0; i<100; i++)
{
    document.write("" + i + "<br />");
    document.scrollTop = document.scrollHeight;
}
</script>
</body></html>

これは多くの順列の 1 つでした。明らかに、javascript でログを 1 行ずつ出力することはできませんが、正しい動作を確認しようとしているだけです。ここで必要なミッシングリンクは何ですか?

もう一度編集: これは、私が最初に予想したよりもはるかに興味深い問題になりました。window.scroll を使用したコードの提案はうまくいきます。ブラウザがドキュメントの一番下にあるときにのみスクロールが行われるように制限することから始めました。これは理論的には簡単に実行できますが、実際には問題が発生します。

サーバーから新しいテキストを取得するたびに、本文のサイズが大きくなり、現在のスクロール位置がドキュメントの下部ではなくなります。(scrollHeight、clientHeight、scrollTop を使用して) ユーザーが上にスクロールしたのか、それともテキストがビューを超えたのかを区別することはできなくなりました。

これが機能する場合は、ユーザーがスクロールしたときに発生し、ウィンドウの下部より上にある場合はスクロールをオフにする JS イベントを持つことに専念する必要があると思いますが、それらは、実際にはビューの一番下にあるポイントまでスクロールダウンしています。私は onScroll イベントを見ていますが、私が言及した変数の計算がかなりうまくいっていることを考えると、私はここで正しい道を進んでいると思います。ご意見ありがとうございます。

4

6 に答える 6

13
x = 0;  //horizontal coord
y = document.height; //vertical coord
window.scroll(x,y);
于 2008-12-22T23:16:42.653 に答える
7

ドキュメント全体をスクロールするには、次を使用します。

window.scrollTo(0, document.body.scrollHeight);

スクロール可能な div または何かが 1 つしかない場合は、プロセスが異なります。

var obj = $('id');
obj.scrollTop = obj.scrollHeight;
于 2012-06-14T15:32:55.260 に答える
4
for (i = 0; i < 100; i++) {
    document.write("" + i + "<br />");
    window.scroll(0,document.body.offsetHeight);
}
于 2008-12-23T00:01:48.193 に答える
4

素敵なjQuery関数がこれを成し遂げます

$('html,body').animate({ scrollTop: element.offset().top }, 'slow');

これは私にとってはうまくいきました。それを使用してドロップダウンメニューに自動スクロールし、フォーカスを合わせました

于 2010-12-15T08:43:07.823 に答える
1

これは、設定された時間間隔とは何かを説明しています - http://www.w3schools.com/jsref/met_win_setinterval.asp

これは、設定タイムアウトとは何かを説明しています - http://www.w3schools.com/jsref/met_win_settimeout.asp

これはJavaScriptでページをスクロールし、6秒後に停止します

    <script type = "text/javascript" >

    var x;
    function autoscroll(){
    self.scrollBy(0,x)
    }

    function playautoscroll(){
    x = 1;
    setInterval('autoscroll()',0.01);
    stop();}

    function onetozero(){
    x=0;
    }

    function stop(){
    setTimeout ("onetozero()",6000);
    }
    window.onload=playautoscroll

    </script>
于 2011-06-23T20:04:40.650 に答える
0
obj.scrollTop = obj.scrollHeight;
于 2008-12-22T22:38:51.373 に答える