Анимированные диалоговые, модальные окна на JQuery

Категория: jQuery.

dialog_modal_jquery-6373496

В этом примере мы будем говорить о создании диалогового пользовательского окна. Для реализации этого будем использовать всеми любимую библиотеку JQuery и специальный для неё плагин UI Dialog. Этот плагин позволяет выбирать текст, кнопки и их поведение и многие другие параметры окна диалогов. Такие диалоговые окна очень удобны, и похожи на модальные окна в Windows, в них также содержится в верхнем углу кнопка с крестиком для закрытия, и они могут масштабироваться и перемещаться по экрану пользователем.

Demo просмотреть архив

HTML

Как обычно начнём с HTML, это основной код разметки со всеми примерами.










 
 Open dialog 1
 Open dialog 2
 Modal dialog #3
 
 
 Move to top dialog 1
 Move to top dialog 2
 Modal dialog #4

 
 
 Enable dialog 1
 Enable dialog 2
 
 
 Disable dialog 1
 Disable dialog 2
 

 
 
 
This dialog using 'slide/explode' methods to show/hide, plus, can be closed by 'close' button, by 'x' icon and by 'esc' button. This dialog window can be moved using mouse.
This dialog using 'blind/fold' methods to show/hide, plus, can be closed by 'x' icon and by 'esc' button. This dialog window can be moved and resized using mouse.
This is the first modal dialog with some text and 2 buttons. This dialog window can be moved, resized and closed with the 'x' icon.
Another sample of modal dialogs - login forms. The dialog using 'highlight/scale' methods to 'show/hide'. Can be moved and closed with the 'x' icon. Name
Password

CSS / main.css

body
{background:#eee;
font-family:Verdana, Helvetica, Arial, sans-serif;
margin:0;
padding:0
}
.example
{
background:#FFF;width:600px;
height:200px;
font-size:80%;
border:1px #000 solid;
margin:0.5em 10% 0.5em;
padding:1em 2em 2em;
-moz-border-radius:3px;
-webkit-border-radius:3px
}
.example button 
{
width:150px
}

 JS / main.js

Это наиболее важная часть всего примера,  здесь заключены все необходимые стили и поведения окна диалогов, вы можете добавлять свои собственные события, для этого посетите этот сайт для получения полной информации о всех  вариантах, методах диалогового окна.

$(function(){
 // Диалоговое окно Свойства 1
 $('#dialog1').dialog({
 autoOpen: false,
 show: 'slide',
 hide: 'explode',
 buttons: { 'Close': function() { $(this).dialog('close'); } },
 closeOnEscape: true,
 resizable: false
 });

 // Диалоговое окно 1 открыть / закрыть
 $('#toggle1').click(function() {
 if ($('#dialog1').dialog('isOpen') == true)
 $('#dialog1').dialog('close');
 else
 $('#dialog1').dialog('open');
 return false;
 });

 // Диалоговое окно Свойства 2
 $('#dialog2').dialog({
 autoOpen: false,
 show: 'blind',
 hide: 'fold',
 closeOnEscape: true
 });

 // Диалоговое окно 2 открыть / закрыть
 $('#toggle2').click(function() {
 if ($('#dialog2').dialog('isOpen') == true)
 $('#dialog2').dialog('close');
 else
 $('#dialog2').dialog('open');
 return false;
 });

 // Диалоговое окно Свойства 3
 $('#dialog3').dialog({
 autoOpen: false,
 show: 'fade',
 hide: 'fade',
 modal: true,
 buttons: {
 'Ok': function() { $(this).dialog('close'); },
 'Close': function() { $(this).dialog('close'); }
 },
 resizable: false
 });

 // Диалоговое окно 3 открыть / закрыть
 $('#toggle3').click(function() {
 if ($('#dialog3').dialog('isOpen') == true)
 $('#dialog3').dialog('close');
 else
 $('#dialog3').dialog('open');
 return false;
 });

 // Диалоговое окно Свойства 4
 $('#dialog4').dialog({
 autoOpen: false,
 show: 'highlight',
 hide: 'scale',
 modal: true,
 buttons: {
 'Login': function() {
 var name = $('#name').val(), password = $('#password').val();
 var mydialog4 = $(this);

 if (name != '' && password != '') {
 $.ajax({
 type: 'POST',
 url: 'some.php',
 data: 'name='+name+'&pass='+password,
 success: function(msg){
 alert(msg);
 $(mydialog4).dialog('close');
 }
 });
 }
 },
 'Close': function() { $(this).dialog('close'); }
 },
 resizable: false,
 width: '400px'
 });

 // Диалоговое окно 4 открыть / закрыть
 $('#toggle4').click(function() {
 if ($('#dialog4').dialog('isOpen') == true)
 $('#dialog4').dialog('close');
 else
 $('#dialog4').dialog('open');
 return false;
 });

 // Переместить наверх функция
 $('#top1').click(function() {
 $('#dialog1').dialog('moveToTop');
 });

 $('#top2').click(function() {
 $('#dialog2').dialog('moveToTop');
 });

 // функция включить
 $('#enable1').click(function() {
 $('#dialog1').dialog('enable');
 });

 $('#enable2').click(function() {
 $('#dialog2').dialog('enable');
 });

 // функция закрыть
 $('#disable1').click(function() {
 $('#dialog1').dialog('disable');
 });

 $('#disable2').click(function() {
 $('#dialog2').dialog('disable');
 });
});