Как показывать картинку только после загрузки?

Есть простая страница, которая перезагружает картинку с камеры каждые 2 секунды:

<div id="img_reload">
<img src = "http://camera1.lc/onvif/snapshot" width="673" height="505" />
</div>

<script>
setInterval(function(){var img_tag = '<img src="http://camera1.lc/onvif/snapshot?img' +Math.random(0,100)+ '"  width="673" height="505" />'; document.getElementById('img_reload').innerHTML = img_tag},2000);
</script>


Как сделать так, чтобы обновленная картинка заменяла старую только после полной загрузки? Сейчас при срабатывании скрипта по таймеру картинка пропадает, а затем начинает грузиться новая, в итоге изображение мерцает. Хочется, чтобы она сначала загрузилась полностью, а только потом отобразилась.
  • Вопрос задан
  • 877 просмотров
Решения вопроса 1
l0cked
@l0cked
setInterval(function() {
    var image = new Image();
    image.src = 'http://camera1.lc/onvif/snapshot?img'+Math.random(0,100);
    image.onload = function() { 
        var img_tag = '<img src="'+this.src+'" width="673" height="505" />';
        document.getElementById('img_reload').innerHTML = img_tag;
    }
}, 2000);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы