2012-04-09 10 views
1

私は複雑なPHPの問題を抱えています。私は常にデータベース内のテーブルを更新しています(TABLEと呼ぶことができます)。複数のレコードを追加すると、これらの結果はAJAXを使用してページ(page.php)にPHPを使用して掲載されます。jquery slidedownを使ったPHP ajax

表示される投稿の最大数は3秒ごとに1であり、関連性アルゴリズムがあります。私はテーブルから絶えず更新されたレコード(AJAXによって得られた)とjqueryの移行をマージする方法を知らない。最高の私が思い付いたのは、ハックよりはるかに優れていないし、dosen'tは無限の数投稿。

の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:

<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をどうするのか分からない:

HTMLを必要としません。

すべてのヘルプは大、

おかげ

答えて

2

あなたの質問はこれを試してみてください、最新の追加のdivをslidedownする方法単にである場合:

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(); 
} 

Example fiddle

0

私はわからないんだけど、これは基本的に新しい記事のために3秒ごとにチェックされ、その後、スライドダウンでそれらを表示するには理解されるであろうか?

もしそうなら、ajaxで新しい投稿を引っ張ってから、divをhiddenに設定してラッパーコンテナにコードを追加/追加してからスライドさせます。

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

関連する問題