You need to be logged in to post in the forums. If you do not have an account, please sign up first.
Проблема с обновлением innerHTML через JavaScript
Здравствуйте !Обнаружил проблему с обновлением innerHTML у ячейки в строке таблицы.
Подробное описание проблемы:
Есть сайт, на котором происходит AJAX-добавление товаров в корзину,
по завершении AJAX-запроса происходит обновление пользовательского интерфейса,
а именно: если добавляется новый товар - динамически вставляется новая строка в таблицу
с определенным id, если добавляется уже существующий в корзине товар, обновляется
только его количество (посредством обновления innerHTML у соответствующей ячейки в строке
таблицы). Пусть cell - объект-ячейка таблицы корзины товаров, тогда обновление количества происходит так:
var oldItemsCount = cell.innerHTML / 1; // искусственно делим на 1, чтобы получить число
oldItemsCount++; // инкрементируем количество экземпляров данного товара
cell.innerHTML = oldItemsCount; // обновляем innerHTML у ячейки
Проблема в том, что визуальное обновление количества товаров таким способом происходит только после
таких событий, как скроллирование окна или смена фокуса на другое приложение. Я проверил работоспособность
данного кода во всех остальных популярных браузерах, а конкретно, в IE (6, 7, 8), Mozilla Firefox, Safari, Google Chrome -
ВЕЗДЕ визуальное обновление происходит независимо от скроллирования или смены фокуса, именно в момент клика по кнопке
"Добавить в корзину". Только в Opera наблюдается такой очень странный эффект. Я пробовал генерировать случайную строку
и заменять innerHTML у ячейки строки таблицы на сгенерированную случайную строку - в этом случае все отрабатывает как нужно,
но если менять на что-то статическое (число или строку), обновление происходит только после смены фокуса или скроллировании.
Очень прошу вас помочь с этой проблемой. Еще раз замечу, что данная проблема актуальна только для Opera, во всех остальных
браузерах все работает абсолютно нормально. Очень надеюсь на оперативность вашего ответа. Заранее большое спасибо !
Forums » Помощь: вопросы и проблемы » Проблемы с конкретными сайтами