В наше время модальным окном на сайте никого не удивить, но если вы все таки решились организовать модальное окно на своем сайте, то не стоит забывать о инструментах веб разработки и различных плагинах. В конкретном уроке мы с вами разберем как организовать модальные окна на сайте с использованием плагина Moontools.

Преиуществом данного плаагина будет то, что он мало весит и в своем окне может выводить абсолютно любое содержимое.

Рассмотрим HTML структуру


	
<div class="window"></div>
<div class="simple-modal-title"></div>
</div>
<div class="wrapper">
<ul>
<li class="example-item" id="alert">
<img src="assets/images/example-1.jpg" width="196" height="147" alt="Пример 1">
<a href="#">Предупреждение</a>
</li>
<li class="example-item" id="confirm">
<img src="assets/images/example-2.jpg" width="196" height="147" alt="Пример 2">
<a href="#">Подтверждение</a>
</li>
<li class="example-item" id="modal">
<img src="assets/images/example-3.jpg" width="196" height="147" alt="Пример 3">
<a href="#">Модальное окно</a>
</li>
<li class="example-item" id="modal-ajax">
<img src="assets/images/example-4.jpg" width="196" height="147" alt="Пример 4">
<a href="#">AJAX запрос </a>
</li>
<li class="example-item" id="modal-image">
<img src="assets/images/example-5.jpg" width="196" height="147" alt="Пример 5">
<a href="#">Изображение</a>
</li>
<li class="example-item" id="alert-noheader">
<img src="assets/images/example-6.jpg" width="196" height="147" alt="Пример 6">
<a href="#">Без заголовка</a>
</li>
<li class="example-item" id="modal-nofooter">
<img src="assets/images/example-7.jpg" width="196" height="147" alt="Пример 7">
<a href="#">Встроенное видео</a>
</li>
<li class="example-item" id="example-eheh">
<img src="assets/images/example-8.jpg" width="196" height="147" alt="?">
<a href="#">?</a>
</li>

</ul>
	

Посмотрите! Ведь ничего сложного в этом нет! Если рассказать конкретнейт, то в данном примере мы создали 8 различных модальных окон. Далее мы погрузимся в сам процесс создания модального окна.

И начнем мы с самого обычного модального окна, которое просто выводит сообщение.

обычное модальное окно
	
$("myElement").addEvent("click", function(){
	var SM = new SimpleModal({"btn_ok":"Текст кнопки"});
			SM.show({
				"title":"Заголовок окна",
				"contents":"Текст сообщения..."
			});
});
	

А сейчас сделаем модальное окно посложней, которое содержит картинку, текст и кнопки. Кстати, данный плагин обладает технологией drag-and-drop, что означает модальные окна можно перетаскивать по экрану.

drag-and-drop окно

$("myElement").addEvent("click", function(){
	var SM = new SimpleModal({"btn_ok":"Текст кнопки"});
			SM.addButton("Текст кнопки", "btn primary", function(){
				alert("Добавьте ваш код");
				this.hide();
			});
			SM.addButton("Cancel", "btn");
			SM.show({
				"model":"modal",
				"title":"Заголовок окна",
				"contents":"Текст сообщения..."
			});
});
 

Далее сделаем интересное окно, которое содержит Ajax запрос

модальное окно с ajax
	 
$("myElement").addEvent("click", function(){
	var SM = new SimpleModal({"width":600});
			SM.addButton("Текст кнопки", "btn primary", function(){
					this.hide();
			});
			SM.addButton("Отказаться", "btn");
			SM.show({
				"model":"modal-ajax",
				"title":"Заголовок окна",
				"param":{
					"url":"ajax-content.php",
					"onRequestComplete": function(){ /* Действия после завершения запроса */ }
				}
			});
});
	 
 

И на последок сделаем очень интересное окно, которое содержит в себе различную мультимедию например видео или картинку

модальное окно с мультимедией
	 
$("modal-image").addEvent("click", function(e){
	e.stop();
	var SM = new SimpleModal();
	SM.show({
	"model":"modal-ajax",
	"title":"Модальный лайтбокс",
	"param":{
		"url":"assets/images/lightbox.jpg",
		"onRequestComplete": function(){ }
	}
	});
		})
	 
 

Вот и все, мы с вами рассмотрели интересный плагин для создания модальных окон Moontools, Посмотреть демо