Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   модальное окно, прошу помощи (https://javascript.ru/forum/misc/61783-modalnoe-okno-proshu-pomoshhi.html)

lex095 08.03.2016 16:58

модальное окно, прошу помощи
 
Добрый день, нужно реализовать закрытие окна после выполнения функции, подскажите пожалуйста как это сделать
$(document).ready(function(){
	//При нажатии на ссылку с классом poplight и href атрибутом тега <a> с #
	$('a.poplight[href^=#]').click(function()
 {
		var popID = $(this).attr('rel'); //получаем имя окна, важно не забывать при добавлении новых менять имя в атребуте rel ссылки
		var popURL = $(this).attr('href'); //получаем размер из href атрибута ссылки
				
		//запрос и переменные из href url
		var query= popURL.split('?');
		var dim= query[1].split('&');
		var popWidth = dim[0].split('=')[1]; //первое значение строки запроса
 
		//Fade in the Popup and add close button
		$('#' + popID).fadeIn().css({ 'width': Number( popWidth ) }).prepend('<a href="#" title="Закрыть" class="close"></a>');
		
        //Определяем маржу(запас) для выравнивания по центру (по вертикали и горизонтали) - мы добавляем 80 к высоте / ширине с учетом отступов + ширина рамки определённые в css
		var popMargTop = ($('#' + popID).height() + 80) / 2;
		var popMargLeft = ($('#' + popID).width() + 80) / 2;
		
		//Устанавливаем величину отступа
		$('#' + popID).css({ 
			'margin-top' : -popMargTop,
			'margin-left' : -popMargLeft
		});
		
		//Добавляем полупрозрачный фон затемнения
		$('body').append('<div id="fade"></div>'); //div контейнер будет прописан перед тегом </body>.
		$('#fade').css({'filter' : 'alpha(opacity=80)'}).fadeIn(); //полупрозрачность слоя, фильтр для тупого IE
		
		return false;
	});
	
	//Зокрываем окно и фон затемнения
	$(document).on('click', 'a.close, #fade', function() { //закрытие по клику вне окна, т.е. по фону...
    $('#fade , .popup_block').fadeOut(function() {
        $('#fade, a.close').remove();  //плавно исчезают 
    });
    return false;
   });
});

hhh 08.03.2016 17:12

После выполнения какой функции?

lex095 08.03.2016 17:17

$('a.poplight[href^=#]').click(function()

Я плохо в этом шарю, есть уже написанный код который нужно подредактировать, что бы само окно закрывалось не на крестик, а после клика на кнопку

hhh 08.03.2016 17:26

Перед 30 строчкой
setTimeout(function () {
  $('#' + popID).fadeOut();
}, 3000)

lex095 08.03.2016 18:11

Цитата:

Сообщение от hhh (Сообщение 410312)
Перед 30 строчкой
setTimeout(function () {
  $('#' + popID).fadeOut();
}, 3000)

Вот почти то что я хотел, просто к этой функции несколько окон привязаны, просто если за 3 секунды не успеет выполнить действие то окно закроется , надо чтоб по клику закрывалось, как так сделать?

hhh 08.03.2016 18:21

По клику на что?
По этой ссылке мы окно поднимаем
$('a.poplight[href^=#]').click(function()

lex095 08.03.2016 18:23

Вот что у меня на сайте, я хочу сто бы окна закрывались после выбора функции


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