我在页面上有一个数字(id)(Data2.php)链接到我的数据库。 如果该数字发生变化,我希望页面刷新。但这似乎不起作用
(document).ready(function(...
]中的$.get("Data2.php", function (data2) {
var id_number = data2;
$(".old").html(id_number);
});
window.setInterval(function () {
$.get("Data2.php", function (data3) {
var new_id_number = data3;
$(".new").html(new_id_number);
});
}, 1000);
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秒循环中的数字发生变化:获取新数据然后滚动到底部
答案 0 :(得分:1)
你不能让if语句“永远在运行”。你需要把它放在你的间隔。此外,是的,if语句按该顺序执行操作,但它不会等待$.get()
查询在滚动之前完成,因为$.get()
是异常的。如果你想在滚动之前等待它加载,只需将滚动事件放在$.get()
回调中。
$.get("Data.php", function (data) {
$(".data").html(data);
var elem = document.getElementById('data');
elem.scrollTop = elem.scrollHeight;
});