Проблема с обновлением innerHTML через JavaScript

Forums » Помощь: вопросы и проблемы » Проблемы с конкретными сайтами

You need to be logged in to post in the forums. If you do not have an account, please sign up first.

Go to last post

1. April 2010, 12:17:00

sftmf3

Posts: 3

Проблема с обновлением 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 » Помощь: вопросы и проблемы » Проблемы с конкретными сайтами