Создать ответ 
Функция Яваскрипта (ДжейКвери) не срабатывает
Автор Сообщение
Булат Азат улы Не на форуме
Младший сержант
*

Сообщений: 22
У нас с: Mar 2016
Сообщение: #1
Функция Яваскрипта (ДжейКвери) не срабатывает
Всем здравствуйте. На сайте хочу сделать так, чтобы при клике по ссылке всплывал блок с изображениями, и при нажатии на изображение всплывал еще один блок с увеличенным изображением.
Отдельно скрипт с увеличением изображения работает, и всплывающий блок с изображениями нормально открывается. А вот при щелчке в этом блоке на изображение ничего не происходит.
Для удобства я перевел свой сайт на тестовый сервер в сети, вот на него ссылка: _http://saitlartiksheru.xyz/madrasa_turynda.php

Там чуть ниже есть рисунки - попробуйте пощелкать на них - все работает. Еще ниже, где ПДФ-документы, в первом списке (Гыйльми киңәшмәләр (Шура) кагыйдәнамәсе) есть ссылка без изображения. Это и есть тот блок. Но вот там уже изображения не работают, хотя скрипт тот же.

Помогите пожалуйста, чего я делаю не так?

Вот скрипт для увеличения изображений:
Код:
$(".rasemUrta").click(function(){    // Клик на маленькое изображение
          var img = $(this);    // Берем изображение
        var src = img.attr('src'); // Отбираем путь
        $("body").append("<div class='popup'>"+ // Добавляем в основу сайта всплывающий блок
                         "<div class='popup_bg'></div>"+ // Блок для затемненного фона
                         "<img src="+src+" class='popup_img' />"+ // Увеличенное изображение
                         "</div>");
        $(".popup").fadeIn(800); // Выводим изображение
        $(".popup_bg").click(function(){    // Клик на затемненный фон      
            $(".popup").fadeOut(800);    // Убираем изображение
            setTimeout(function() {    // Таймер
              $(".popup").remove(); // Удаляем блок
            }, 800);
        });
        $(".popup_img").click(function(){    // Клик на изображение      
            $(".popup").fadeOut(800);    //Убираем изображение
            setTimeout(function() {    // Таймер
              $(".popup").remove(); // Удаляем блок
            }, 800);
        });
    });
И вот скрипт для блока с изображениями:
Код:
$("#shuraKagyidanamase").click(function(){    // Клик на ссылку
        $("body").append("<div id='osBlok'><div id='osBlokBg'></div><div id='rasemUrtaBit'>"+
            "<img class='rasemUrta' src='documentlar/shura_kagyidanamase/1.jpg' width='200' height='280' alt='1-нче бит' title='1-нче бит'>"+
            "<img class='rasemUrta' src='documentlar/shura_kagyidanamase/1.jpg' width='200' height='280' alt='2-нче бит' title='2-нче бит'>"+
            "</div></div>");
        $("#osBlok").fadeIn(800); // Выводим блок для изображений
        $("#osBlokBg").click(function(){    // Клик на затемненный фон      
            $("#osBlok").fadeOut(800);    // Убираем блок
            setTimeout(function() {    // Таймер
              $("#osBlok").remove(); // Удаляем блок
            }, 800);
        });
    });
22.08.2016 18:11:54
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #2
RE: Функция Яваскрипта (ДжейКвери) не срабатывает
Тут важно понимать, что всплывающий блок с изображениями генерируется при помощи jQuery и поэтому обычный обработчик события .click() не увидит данный блок с изображениями.

Вам лучше воспользоваться обработчиком события .delegate()

Замените:
Код:
$(".rasemUrta").click(function(){    // Клик на маленькое изображение

на:
Код:
$(document).delegate(".rasemUrta", "click", function() {    // Клик на маленькое изображение
22.08.2016 21:57:59
Найти все сообщения Цитировать это сообщение
Булат Азат улы Не на форуме
Младший сержант
*

Сообщений: 22
У нас с: Mar 2016
Сообщение: #3
RE: Функция Яваскрипта (ДжейКвери) не срабатывает
Спасибо большое, все заработало!!!
22.08.2016 23:13:10
Найти все сообщения Цитировать это сообщение
Создать ответ 


Переход:


Пользователи просматривают эту тему: 1 Гость(ей)


LiveInternet
© Copyright 2011-2024 by UsefulScript.ru