Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   ajax асинхронная загрузка изображения (https://javascript.ru/forum/jquery/49532-ajax-asinkhronnaya-zagruzka-izobrazheniya.html)

lbvjy114 17.08.2014 10:58

ajax асинхронная загрузка изображения
 
Привет кодерам) бьюсь 2 сутки над проблемой облазил все просторы подскажите направление решения проблемы)
Есть лэндинг на нем 15 превью по клику через модальное окно arctic.modal вызывается другое тяжелое изображение. Структуру html прописал так что браузер с самого начала грузит все 15 скрытых тяжелых фулл изображений, как сделать загрузку в модальном окне только по вызову?
Вот пример структуры:
<div class="color-1">
<div class="hide"><a class="md-trigger" href="#modal" onclick="$('#color-1').arcticmodal()"><img src="images/color-1.jpg" alt=""></a></div>
<div class="color-info"> </div>

А это уже вызов фулл изображения

<div class="pop-up-img md-effect-16 box-modal" id="color-1">
<span class="modal_close box-modal_close arcticmodal-close"></span>
<div class="color-info">
<h3>ТЕКСТ<br />текст<br />текст</h3> </div>
<img class="lazy" src="images/full-1.jpg" alt=""> </div>

tsigel 18.08.2014 09:28

Браузер не грузит картинки которые скрыты через display:none (сама картинка или блок в котором она находится)

lbvjy114 18.08.2014 10:36

благодарю. display: none скрыл из DOM загрузке а как вернуть что бы после вызова модального окна он ее загрузил?

lbvjy114 18.08.2014 10:44

это вариант помогает не во всех браузерах так что проблема все таже грузит сразу все 15 скрытых фулл изображений общим весом около 20 мб (( кстати блоки модальных окон и скрытых изображений уже в общем div были display:none

tsigel 18.08.2014 10:57

Вы можете вообще не добавлять эти картинки в html, а добавлять их скриптом при открытии модального окна

lbvjy114 18.08.2014 11:08

Цитата:

Сообщение от tsigel (Сообщение 326370)
Вы можете вообще не добавлять эти картинки в html, а добавлять их скриптом при открытии модального окна

подскажите что именно мне искать в этом направлении? :help:

lbvjy114 18.08.2014 11:17

РЕШЕНИЕ НАЙДЕНО! fancyBox :D

tsigel 18.08.2014 11:17

Можно пойти 2 способами:
1) добавлять верстку через innerHTML:
function onOpenModal() {
    document.querySelector(".someImageContainer").innerHTML = "<img src='someImage.png'/>";
}

2) Добавлять картинку к существующему HTML коду. Второй вариант гибче и позволяет делать прелоадеры:
function onOpenModal() {
    var image = new Image();
    image.onload = function () {
        document.querySelector(".someImageContainer").appendChild(this);
    }
    image.src = "someImage.png";    
}


Часовой пояс GMT +3, время: 14:55.