Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.03.2012, 15:08
Новичок на форуме
Отправить личное сообщение для lead-in Посмотреть профиль Найти все сообщения от lead-in
 
Регистрация: 02.03.2012
Сообщений: 2

Частая смена изображения
Есть задача часто (от одного до неск. раз) в секунду отображать картинку в браузере. Зачем это нужно объяснять долго, но в 2-х словах: картинка - это фактически скриншот приложения, а отображать в браузере нужно для того чтобы из браузера поверх этой картинки рисовать кнопки и пр. элементы управления.
Есть плагин JS который генерирует событие каждый раз когда картинка должна быть обновлена, вот обработчик этого события:

var CurrScreen; // текущий номер отображаемой картинки
var PrevScreen; // предыдущий номер отображённой картинки


ppsPNG.onChange = function(event)
{
CurrScreen = ppsPNG.ppsObj.ScreenIndex; // получение номера новой картинки
if (CurrScreen != PrevScreen)
{
// если новый номер не равен номеру предыдущей картинки:
ms = new Date();
filename = "/tmp/OpenGLScreen.png?" + ms.getTime();
document.getElementById("img").innerHTML = "<img src='" + filename + "' width=200 height=100 />";
PrevScreen = CurrScreen;
}
}
ppsPNG.open("/pps/tcs/nbgm/status", "0");

Всё вроде бы нормально работает, НО каждый раз при смене изображения оно мерцает, есть какая-то возможность избежать этого? Или проблема вообще не относится к JS?
Ответить с цитированием
  #2 (permalink)  
Старый 02.03.2012, 15:15
Аватар для Skipp
.
Отправить личное сообщение для Skipp Посмотреть профиль Найти все сообщения от Skipp
 
Регистрация: 30.03.2010
Сообщений: 1,813

document.getElementById("img").innerHTML = "<img src='" + filename + "' width=200 height=100 />";

Таким образом вы постоянно делаете лишние телодвижения....
Замените на вот это
document.getElementById("img").src=filename;
__________________
.

Последний раз редактировалось Skipp, 02.03.2012 в 15:18.
Ответить с цитированием
  #3 (permalink)  
Старый 02.03.2012, 15:28
Новичок на форуме
Отправить личное сообщение для lead-in Посмотреть профиль Найти все сообщения от lead-in
 
Регистрация: 02.03.2012
Сообщений: 2

Сообщение от Skipp Посмотреть сообщение
document.getElementById("img").innerHTML = "<img src='" + filename + "' width=200 height=100 />";

Таким образом вы постоянно делаете лишние телодвижения....
Замените на вот это
document.getElementById("img").src=filename;
Спасибо огромное! Помогло! С JS столкнулся постольку-поскольку задача подобная появилась, 3 часа ковырялся без толку.

Последний раз редактировалось lead-in, 02.03.2012 в 15:29. Причина: update
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
смена изображения VaiZerD jQuery 4 25.11.2011 00:57
onclick. смена изображения trololo Events/DOM/Window 3 07.04.2011 15:39
Смена изображения MaxB Events/DOM/Window 7 10.02.2010 22:01
смена изображения кнопками slonik_mak Я не знаю javascript 2 04.06.2009 11:48
как при добавлении изображения на сервер считывать имя в БД? solomusic Серверные языки и технологии 3 12.06.2008 23:28