Как избежать моргания при обновлении страницы из ajax - PullRequest
4 голосов
/ 13 октября 2008

У меня есть таблица с заголовком, строка с полями ввода, строки с данными. Вот так. http://brow.hu/sitegen/stackoverflow_table_example.png

Если кто-то вводит что-то в поле ввода, я хочу отфильтровать данные с помощью ajax-запроса. После получения новой таблицы я изменяю содержимое старой: div.innerHTML = req.responseText;, и она мигает. Как этого избежать?

Ответы [ 2 ]

8 голосов
/ 13 октября 2008

Один из способов избежать мерцания называется двойной буферизацией. В Ajax это можно сделать просто с помощью двух div, занимающих одно и то же пространство, один из которых имеет стиль «display: none», а другой «display: inline». Всегда пишите невидимому, а затем меняйте стили отображения. Если у div есть абсолютное позиционирование и размер, у мерцания нет абсолютно никаких шансов, и даже если они не имеют, вы вряд ли сможете добиться большего.

3 голосов
/ 13 октября 2008

Он мигает, потому что вы полностью заменяете таблицу ... если вы добавляете или удаляете строки из существующей таблицы, а затем загружаете данные AJAX в результирующую таблицу, он не мигает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...