如果数据库ID号更改页面上的更新数据

时间:2014-02-11 06:17:06

标签: jquery ajax database if-statement

我在页面上有一个数字(id)(Data2.php)链接到我的数据库。 如果该数字发生变化,我希望页面刷新。但这似乎不起作用


我试过这个:

head onload [(document).ready(function(...]中的

$.get("Data2.php", function (data2) {
    var id_number = data2;
    $(".old").html(id_number);
});

并且间隔1秒:

window.setInterval(function () {
    $.get("Data2.php", function (data3) {
        var new_id_number = data3;
        $(".new").html(new_id_number);
    });

}, 1000);

然后我希望这个if语句始终运行:

if ($('.new').text() !== $('.old').text()) {
    $('.old').replaceWith($('.new').text());
    $.get("Data.php", function (data) {
        $(".data").html(data);
    });
    var elem = document.getElementById('data');
    elem.scrollTop = elem.scrollHeight;
}

附带问题: if语句是否按该顺序执行?因为我不想在加载新数据之前滚动


基本上......如果1秒循环中的数字发生变化:获取新数据然后滚动到底部

1 个答案:

答案 0 :(得分:1)

你不能让if语句“永远在运行”。你需要把它放在你的间隔。此外,是的,if语句按该顺序执行操作,但它不会等待$.get()查询在滚动之前完成,因为$.get()是异常的。如果你想在滚动之前等待它加载,只需将滚动事件放在$.get()回调中。

$.get("Data.php", function (data) {
    $(".data").html(data);
    var elem = document.getElementById('data');
    elem.scrollTop = elem.scrollHeight;
});