Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Подгрузить картинку после вызова модального окна. (https://javascript.ru/forum/jquery/60425-podgruzit-kartinku-posle-vyzova-modalnogo-okna.html)

DartV 28.12.2015 17:18

Подгрузить картинку после вызова модального окна.
 
Добрый день!

Задача стоит приблизительно следующая:

На странице есть 6 модальных окон, которые содержат большие и тяжелые изображения. Грузить их сразу нет никакого смысла, поэтому хочу подгружать их только при вызове модалки.

Модальное окно:

<div data-wow-delay="0.2s" class="grid_4 wow fadeInRight">
			        <div class="single_image" onclick="document.getElementById('win1').style.display='block';$('html,body').css('overflow','hidden');">
                        <img src="http://livedemo00.template-help.com/wt_55108/images/page-4_img01.jpg" alt="">
                        <div class="image_overlay">
                            <a href="">View Full Project</a>
                            <h2>drawing</h2>
                            <h4>with pencil colors</h4>
                        </div>
                    </div>
              </div>

<div class="dm-overlay" id="win1" onclick="document.getElementById('win1').style.display='none';$('html,body').css('overflow','auto');">
        <div class="dm-table">
            <div class="dm-cell">
                <div class="dm-modal cyan">
                    <a href="#close" class="close"></a>
                    <h3>Модальный блок №3 абсолютно по центру.(тест)</h3>
                        <img src="http://sdlweb.ru/img/09-Villa.jpg">
                    <p>Окно выводится строго по центру, тест</p>
                </div>
            </div>
        </div>
</div>


Я новичок, сильно не ругайте!

рони 28.12.2015 17:37

DartV,
http://javascript.ru/forum/project/4...-po-kliku.html

DartV 28.12.2015 17:39

огромное спасибо за ответ, но это не совсем то, что бы я хотел.

рони 28.12.2015 17:45

DartV,
что мешает прописать в картинках маленький прелоадер а по клику менять прелоадер на большую картинку?

DartV 28.12.2015 17:47

Не вижу в этом выход. Можно ведь просто подгружать аяксом при клике в мою модалку?

рони 28.12.2015 18:03

Цитата:

Сообщение от DartV
Можно ведь просто подгружать аяксом при клике в мою модалку?

бред какой-то ...
<div data-wow-delay="0.2s" class="grid_4 wow fadeInRight">
			        <div class="single_image" onclick="var d = document.getElementById('win1');d.querySelector('img').src='http://sdlweb.ru/img/09-Villa.jpg';d.style.display='block';$('html,body').css('overflow','hidden');return false;">
                        <img src="http://livedemo00.template-help.com/wt_55108/images/page-4_img01.jpg" alt="">
                        <div class="image_overlay">
                            <a href="">View Full Project</a>
                            <h2>drawing</h2>
                            <h4>with pencil colors</h4>
                        </div>
                    </div>
              </div>

<div class="dm-overlay" id="win1" onclick="document.getElementById('win1').style.display='none';$('html,body').css('overflow','auto');return false;">
        <div class="dm-table">
            <div class="dm-cell">
                <div class="dm-modal cyan">
                    <a href="#close" class="close"></a>
                    <h3>Модальный блок №3 абсолютно по центру.(тест)</h3>
                        <img src="http://pampinta.com/imgs/img_loader.gif">
                    <p>Окно выводится строго по центру, тест</p>
                </div>
            </div>
        </div>
</div>

DartV 28.12.2015 18:13

Что бред? )

Придумал вот такую реализацию для себя:

<script>
      function content_dop_img() {
        document.getElementById('content_dop_img').innerHTML = '<img src="http://sdlweb.ru/img/09-Villa.jpg">';
      }
    </script>
<div id="content_dop_img"></div>


Всё ли верно я сделал? Повторюсь, я только начал изучать JS!

рони 28.12.2015 18:18

DartV,
как проще всего смотрите 6 пост ... зачем грузить что-то кроме src?

DartV 28.12.2015 18:22

Цитата:

Сообщение от рони (Сообщение 401762)
DartV,
как проще всего смотрите 6 пост ... зачем грузить что-то кроме src?

Отлично! Спасибо большое.

Ну и ещё вопрос, как это все содержимое onclick убрать из html кода непосредственно в файл js?

рони 28.12.2015 18:36

DartV,
$(function() {
    var $overlay = $(".dm-overlay");
    $(".single_image").on("click", function(event) {
        event.preventDefault();
        $overlay.show().find("img")[0].src = "http://sdlweb.ru/img/09-Villa.jpg";
        $("html,body").css({
            "overflow": "hidden"
        })
    });
    $overlay.on("click", function(event) {
        event.preventDefault();
        $overlay.hide();
        $("html,body").css({
            "overflow": "auto"
        })
    })
});


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