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 11: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 10:28

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

lbvjy114 18.08.2014 11:36

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

lbvjy114 18.08.2014 11:44

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

tsigel 18.08.2014 11:57

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

lbvjy114 18.08.2014 12:08

Цитата:

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

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

lbvjy114 18.08.2014 12:17

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

tsigel 18.08.2014 12: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, время: 16:13.