1

複雑なPHPの難問があります。データベースに絶えず更新されるテーブル(TABLEと呼びます)があり、1秒間に複数のレコードが追加されます。これらの結果は、PHPを使用してAJAXを使用するページ(page.php)に投稿されます。

表示される投稿の最大数は3秒ごとに1つで、関連性アルゴリズムがあります。jqueryトランジションをテーブルから絶えず更新されるレコードとマージする方法がわかりません(AJAXによるGot)。私が思いついた最高のものは、ハックよりもはるかに優れているわけではなく、無限の数に対応していません投稿。

Jquery:

$(#5).delay(1000).slideDown(700);
$(#4).delay(4000).slideDown(700);
$(#3).delay(8000).slideDown(700);
$(#2).delay(12000).slideDown(700);
$(#1).delay(16000).slideDown(700);

PHP:不要

HTML:

<div id='5' class='post'></div>
<div id='4' class='post'></div>
<div id='3' class='post'></div>
<div id='2' class='post'></div>
<div id='1' class='post'></div>

AJAXをどうしたらいいのかわかりません。

どんな助けでも大歓迎です、

ありがとう

4

2 に答える 2

2

あなたの質問が単に最新の追加されたdivをスライドダウンする方法である場合は、これを試してください:

HTML:

<div id="updatePanel">
    <div id='div5' class='post'></div>
    <div id='div4' class='post'></div>
    <div id='div3' class='post'></div>
    <div id='div2' class='post'></div>
    <div id='div1' class='post'></div>
</div>

注:id数字で始まる属性は無効です。

jQuery

setInterval(getData, 3000);

function getData() {
    // call ajax, get data.
    // success: function () {...
    var id = parseInt($("#updatePanel div:first").attr("id").replace("div", "")) + 1;

    $div = $("<div></div>").attr("id", id)
        .addClass("post")
        .text(dataFromAJAX)
        .css("display", "none") // change this to be a class - this is just to make it clear.
        .prependTo("#updatePanel")
        .slideDown();
}

フィドルの例

于 2012-04-09T13:24:44.893 に答える
0

よくわかりませんが、基本的には3秒ごとに新しい投稿をチェックしてから、下にスライドして表示しますか?

その場合は、ajaxを使用して新しい投稿をプルしたら、コードをラッパーコンテナーに追加/追加し、divを非表示にプリセットしてから下にスライドします。

これがあなたの望むものであれば、私はコードを手伝うことができますが、私がより良いアイデアを得ることができるように、あなたはあなたのajaxを投稿する必要があります。

于 2012-04-09T13:22:44.423 に答える