1

我有一个复杂的 PHP 难题。我的数据库中有一个不断更新的表(让我们称之为 TABLE),其中添加了多条记录,这些结果将使用 PHP 在使用 AJAX 的页面(page.php)上发布。

显示的帖子的最大数量是每三秒 1 个,为此我有一个相关性算法。我不知道如何将 jquery 转换与表中不断更新的记录合并(由 AJAX 获得)。我想出的最好的方法并不比 hack 好多少,并且不能容纳无限数量的帖子。

查询:

$(#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

我不确定,但这基本上是每三秒检查一次新帖子,然后向下滑动显示它们吗?

如果是这样,一旦您使用 ajax 拉出新帖子,请将代码附加/前置到包装容器,将 div 预设为隐藏,然后将其向下滑动。

如果这是你想要的,我可以帮助你编写代码,但你需要发布你的 ajax,这样我才能得到一个更好的主意。

于 2012-04-09T13:22:44.423 回答