Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 28.02.2017, 15:12
Интересующийся
Отправить личное сообщение для kuzyaka Посмотреть профиль Найти все сообщения от kuzyaka
 
Регистрация: 27.02.2017
Сообщений: 24

А теперь вопрос опять по теме.
Спасибо рони, кнопку к окну с фото прилепить удалось, даже с картинкой. Только теперь возникла другая проблема.
Это кнопка должна запускать форму заказа, которая отслеживает все кнопки с class="reservation" и при нажатии на них запускается.
То, что уже работает выглядит так:
Кнопка HTML:
<a class="reservation" href="?ID=<?=$arElement["ID"]?>">
	<img src="/design/butorder.png" height="24" width="92" align="right"/>
</a>
Код сканирования такой кнопки:
$('.<?if($arParams["NAME_CLASS"]!=""):?><?=$arParams["NAME_CLASS"]?><?else:?>___<?endif?>').click(function(){
			AltasibReservation_runWindow($(this).attr('href'), $(this).attr('id'));
			return false;
		});

А у меня в fancyBox кнопка выглядит так:
$(function() {
    $(".img_over a").fancybox({
        padding: [10, 10, 35, 10],
        "afterLoad": function() {
            var button = '<img src="/design/butorderbig.png" height="31" width="117" align="left"/>';
            var add = '<a href="?ID=1500" class="reservation">' + button + '</a>';
            this.tpl.image = add + '<img class="fancybox-image" src="{href}" alt="" />'
        }
    })
});
И на неё код сканирования не реагирует. Может быть это связано с представлением кнопки не в виде HTML, а в виде script?

Последний раз редактировалось kuzyaka, 28.02.2017 в 15:24.
Ответить с цитированием
  #12 (permalink)  
Старый 28.02.2017, 15:22
Интересующийся
Отправить личное сообщение для kuzyaka Посмотреть профиль Найти все сообщения от kuzyaka
 
Регистрация: 27.02.2017
Сообщений: 24

Rise,
Спасибо, успокоили.
Жду теперь, что скажет рони на мой последний вопрос по теме.
Ответить с цитированием
  #13 (permalink)  
Старый 28.02.2017, 17:15
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

Сообщение от kuzyaka
Код сканирования такой кнопки:
нужно делегирование изначально
примерно так
$("body").on("click", '.<?if($arParams["NAME_CLASS"]!=""):?><?=$arParams["NAME_CLASS"]?><?else:?>___<?endif?>', function(){
			AltasibReservation_runWindow($(this).attr('href'), $(this).attr('id'));
			return false;
		})


либо инициализация после создания
"afterShow": function() {
            var el = this.element;
            var id = $(el).data("id");
            var link = $(".fancybox-inner a, .fancybox-title a");
            link.click(function(event) {
*!*
                AltasibReservation_runWindow($(this).attr('href'), $(this).attr('id'));
*/!*
                event.preventDefault();
                $.fancybox.open($("#info"), {
                    "type": "inline",
                    "afterLoad": function() {
                        $("#text_tag_input").val(id)
                    },
                    "afterClose": function() {
                        $(el).trigger("click")
                    }
                })
            })
        }
Ответить с цитированием
  #14 (permalink)  
Старый 28.02.2017, 19:18
Интересующийся
Отправить личное сообщение для kuzyaka Посмотреть профиль Найти все сообщения от kuzyaka
 
Регистрация: 27.02.2017
Сообщений: 24

рони, слов нет ..., Вы действительно настоящий Профессор!
А благодаря магии javascript, еще и Волшебник!

Спасибо большое, все заработало, как надо, кроме одного: окно fancyBox не возвращается после закрытия окна с формой заказа, в которой три варианта закрытия: кнопки "Х", "Отмена" и "Отправить", где после "Отправить" появляется еще одно окно с сообщением и кнопкой "Закрыть".

Последний раз редактировалось kuzyaka, 28.02.2017 в 19:45.
Ответить с цитированием
  #15 (permalink)  
Старый 28.02.2017, 20:06
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

kuzyaka,
ваша форма заказа должна после закрытия кликнуть но ссылке которое содержит фото -- то есть переоткрыть строка 14 пост
$(el).trigger("click")
el можно где-то
сохранить глобально или присваивать класс , вам виднее
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Всплывающая кнопка рядом с чекбоксом copenhagen Элементы интерфейса 7 24.01.2014 04:41
Проблемы с галереями FancyBox (не листаются фото) Demonic Библиотеки/Тулкиты/Фреймворки 2 07.03.2013 10:10
создание окошка рядом с фото Deloy Events/DOM/Window 8 04.03.2010 15:43