<input type="button" data-width="#?w=400" rel="popup_name" class="poplight" value="Окно в действии - Ширина = 400px">
<br>
<input type="button" data-width="#?w=500" rel="popup1" class="poplight" value="Окно в действии - Ширина = 500px">
<div id="popup_name" class="popup_block">
<h2>Модальное окно - 400px</h2>
<img src="http://lorempixel.com/100/100/sports" style="float: right; margin: 5px 0 5px 10px;" />
<p>Вы смотрите один из примеров создания модального окна с помощью CSS и jQuery. В данном примере показано окно шириной 400px. Для вывода других окон просто присваиваете имя новому окну, прописываете в атрибуте <strong>rel</strong>, типа <strong>popup1,2,3</strong> и т.д, и конечно не забываем про идентификатор id, соответственно выставляем такой же. Устанавливаете ширину окна в атрибуте <strong>data-width</strong> тега <strong>input</strong> и c чуством непомерной гордости за себя, любуетесь результатом.</p>
<p style="text-align: right;"><a href="http://dbmast.ru">/shurawi/</a></p>
</div>
<div id="popup1" class="popup_block">
<h2>Модальное окно - 500px</h2>
<img src="http://lorempixel.com/100/100/people" style="float: right; margin: 5px 0 0 10px;" />
<p>Вы смотрите один из примеров создания модального окна с помощью CSS и jQuery. В данном примере показано окно шириной 500px. Для вывода других окон просто присваиваете имя новому окну, прописываете в атрибуте rel, типа popup1,2,3 и т.д, и конечно не забываем про идентификатор id, соответственно выставляем такой же. Устанавливаете ширину окна в атрибуте data-width тега input и c чуством непомерной гордости за себя, любуетесь результатом.</p>
<p style="text-align: right;"><a href="http://dbmast.ru">/shurawi/</a></p>
</div>
$(document).ready(function(){
//При нажатии на кнопку с классом poplight и атрибутом data-width тега <input> с #
$('input.poplight[data-width*=\\#]').click(function() {
var popID = $(this).attr('rel'); //получаем имя окна, важно не забывать при добавлении новых менять имя в атрибуте rel ссылки
var popURL = $(this).attr('data-width'); //получаем размер из data-width атрибута кнопки
//запрос и переменные из href url
var query= popURL.split('?');
var dim= query[1].split('&');
var popWidth = dim[0].split('=')[1]; //первое значение строки запроса
//Добавляем к окну кнопку закрытия
$('#' + popID).fadeIn().css({ 'max-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;
});
});
Please Whitelist JSFiddle in your content blocker.
Help keep JSFiddle free for always by one of two ways:
Whitelist JSFiddle in your content blocker (two clicks)
Go PRO and get access to additional PRO features →
Join the 4+ million users, and keep the JSFiddle dream alive.
Ad-free
All ads in the editor and listing pages are turned completely off.
Use pre-released features
You get to try and use features (like the Palette Color Generator) months before everyone else.
Fiddle collections
Sort and categorize your Fiddles into multiple collections.
Private collections and fiddles
You can make as many Private Fiddles, and Private Collections as you wish!
Console
Debug your Fiddle with a minimal built-in JavaScript console.