0

私はjavascriptを使って何かをしようとしています。これにより、チャットの動作が現在よりも少し良くなります。

PrimeFacesのポーリングを使用してパネルを更新し、チャットをシミュレートするため、パネルは毎秒更新され、古いメッセージを読むのが非常に難しくなります(パネルを更新すると、パネルの上部でスクロールがリセットされます)。

そこで、ユーザーがスクロールしているときにポーリングを停止するonscrollイベントをに追加しました。div

しかし、再起動する方法が必要なので、タイマーを入れてpoll.start()、スクロールが停止してから1分後に思い出すようなことを考えました。

それを行う方法はありますか?

4

1 に答える 1

1

私が自分のチャットエンジンで行ったことはこれです:

新しいメッセージが届いたとき...

  • ユーザーがビューの(新しいメッセージ)最後までスクロールされた場合は、スクロールをその端に固定したままにします。
  • それ以外の場合は、以前の場所にスクロールを保持します。

scrollTopこれは、またはのいずれか0の値を比較することで簡単にテストできますscrollHeight-offsetHeight

于 2012-05-01T14:45:24.090 に答える