0

新しいウェブサイトの建設中のページを設定しています。

私は説明しようとします:

  • 横に3列あります
  • 新しいコメントが「取得」されると、最初の列に追加されます
  • 各コメントについて - 列の上部から下部が 300px を超える場合: コピー、削除、および次の列の先頭に追加 (列:最後の場合は削除するだけ)

上記は正常に機能していますが、これをなぞなぞ:

  • 反対のことをして、古いコメントを最後に追加するにはどうすればよいですか
  • コメントはメッセージによって高さが異なる場合があります。これは、表示されるコメントの量が固定されていないことを意味します。
  • 「新しいコメント」と「古いコメント」のリンクがあります。これらに、表示されている最新のコメントまたは表示されている最も古いコメントの前後に投稿されたコメントをそれぞれ取得したいと思います。

アイデアは、「コメントの取得」手順を 6 回繰り返し、6 つの新しい/古いコメントを取得し、最初/最後の列にそれぞれ前置/追加することです。次に取得するコメント (AJAX 経由で返される) を知るために、php スクリプトに表示されている最新のコメントと最も古いコメントを追跡する必要があります。

私は複雑なことをやり過ぎたかもしれませんが、誰かが私が従うための堅実なアルゴリズムを考え出すことができれば素晴らしいでしょう. 私は誰にも私のためにそれをプログラムするように頼んでいません。;D

私の絵の試み:

私の絵の試み

4

1 に答える 1

0

これが役立つかどうかはわかりませんが、オブジェクトの配列を設定して、それらの順序を追跡し、それらが表示されているかどうかを管理できます。新しいコメントを取得する場合は、 を使用して配列の先頭に追加し、unshift古いコメントを取得する場合は を使用して配列の末尾に追加しますpush。これは、AJAX 関数の oncomplete コールバックで設定できます。配列は次のようになります。

var comments = [
                   {id: 'comment8', visible: true},
                   {id: 'comment9', visible: true},
                   ...
                ]

各オブジェクトの ID は、コメント コンテナーの ID に対応する可能性があるため、これらの値を取得し、jquery セレクターで使用して、必要なことを行うことができます。

于 2012-07-06T19:45:52.300 に答える