从ajax更新页面时如何避免闪烁

时间:2008-10-12 22:11:49

标签: html ajax

我有一个带有标题的表,带有输入字段的行,带有数据的行。 Like this. http://brow.hu/sitegen/stackoverflow_table_example.png

如果有人在输入字段中输入内容,我想用ajax查询过滤数据。收到新表后,我更改旧表的内容:div.innerHTML = req.responseText;然后闪烁。如何避免?

2 个答案:

答案 0 :(得分:8)

避免闪烁的一种方法称为双缓冲。在Ajax中,这可以简单地用2个占用相同空间的div来完成,其中一个具有'display:none'样式,另一个'display:inline'。始终写入不可见的,然后交换显示样式。如果div具有绝对的定位和大小,则绝对没有闪烁的可能性,即使它们没有,也很难做得更好。

答案 1 :(得分:3)

它闪烁,因为你正在完全替换表...如果向现有表中添加行或从现有表中删除行,然后将AJAX数据加载到结果表中,它将不会闪烁。