我有一个带有标题的表,带有输入字段的行,带有数据的行。 Like this. http://brow.hu/sitegen/stackoverflow_table_example.png
如果有人在输入字段中输入内容,我想用ajax查询过滤数据。收到新表后,我更改旧表的内容:div.innerHTML = req.responseText;
然后闪烁。如何避免?
答案 0 :(得分:8)
避免闪烁的一种方法称为双缓冲。在Ajax中,这可以简单地用2个占用相同空间的div来完成,其中一个具有'display:none'样式,另一个'display:inline'。始终写入不可见的,然后交换显示样式。如果div具有绝对的定位和大小,则绝对没有闪烁的可能性,即使它们没有,也很难做得更好。
答案 1 :(得分:3)
它闪烁,因为你正在完全替换表...如果向现有表中添加行或从现有表中删除行,然后将AJAX数据加载到结果表中,它将不会闪烁。