/ Scripts & jquery / Модальное окно на jquery

Модальное окно на jquery

HIT

14.10.2015

4049

Создаем модальное (всплывающее) окно основанное на технологии jquery. Про подобное решение на чистом CSS читайте здесь.

Принцип модального окна

Вставляем в HEADER (выше всего контента), #backfon — это фон модального окна

<div id="backfon"></div>
<div class="popup">Все что угодно, например всплывающее окно</div>

Скрипт, можно вставлять любой эффект анимации из библиотеки animated

$(document).ready(function() {

	//Появление всплывающего окна
	$('.call-item').click(function() {
		$('.popup').show();
		$('.popup').removeClass('animated fadeOutDown');
		$('.popup').addClass('animated fadeInDown');
		$('#backfon').show();
		$('#backfon').removeClass('fadeOut');
		$('#backfon').addClass('animated fadeIn');
	});
	
	//Скрытие всплывающего окна
	$('#backfon').click(function() {
		$('#backfon').addClass('fadeOut');
		$('.popup').addClass('fadeOutDown');
		setTimeout(function () { $('#sea').hide(); $('#backfon').hide(); }, 700);
	});
	
});

CSS

/* Всплывающее окно */
.popup {
	background-color: #fff;
	display: none;
	width: 20%;
	margin: 0 40%;
	padding: 10%;
	opacity: 0;
	position: fixed;
	text-align: center;
	top: 30%;
	z-index: 999;
}

#backfon {
	background-color: rgba(0, 0, 0, 0.5);
	background-image: url(/wp-content/themes/tester/images/bg-pattern.png);
	position: fixed;
	width: 100%;
	height: 100%;
	z-index: 999;
	display: none;
}

Скроллинг при наведении

Чтобы окно скроллилось при наведении, используем этот скрипт

$(document).ready(function() {

$( '.popup' ).on( 'mousewheel DOMMouseScroll', function ( e ) {
    var e0 = e.originalEvent,
        delta = e0.wheelDelta || -e0.detail;
    
    this.scrollTop += ( delta < 0 ? 1 : -1 ) * 100;
    e.preventDefault();
});

});

Вообще нормальному скроллингу при наведении на область в принципе мешает скрипт плавной прокрутки.

Появление всплывающего окна при уходе с сайта

Нашел любопытный эффект при пропадании курсора из области экрана сайта вызывается всплывающее окно:

$(document).mouseleave(function(e) {
    if (e.clientY < 0) {
        // Вызов всплывающего окна
        $(".exitblock").fadeIn("fast");
    }
});

Изменяющийся заголовок всплывающего окна

Если форма одна и та же по составу полей, но появляется она во всплывающем окне при нажатии разных кнопок, можно сделать у формы заменяющиеся заголовки.

Верстка кнопки:

<a class="btn order" text="Запрос консультации по инвестированию">Консультация по инвестированию</a>

Скрипт, при вызове окна, нужно дополнить следующим:

var name = $(this).attr('text');
$('#order h2').text(name);

Поделиться в соц. сетях:

  • Похожие записи
  • Комментарии
  • Вложения
Создаем анимацию Scroll Down

Создаем анимацию Scroll Down

Для лэндингов часто используют анимацию в виде стрелки или колесика мышки, чтобы показать что можно (нужно) листать ниже. Создадим подобную анимацию с помощью css и jquery. Анимация колесика мышки Создадим Читать далее »

/
Блок с горизонтальной прокруткой

Блок с горизонтальной прокруткой

Делаем секцию (блок) с горизонтальной прокруткой. Внутри предполагаются изображения, но может быть все что угодно. Данный блок можно использовать в лэндинге, либо таким образом вводить галерею изображений. jQuery mousewheel plugin Читать далее »

Плавный скроллинг по якорям

Плавный скроллинг по якорям

Реализуем плавный переход по якорным ссылкам в рамках текущей страницы. Данный скрипт особенно хорош тем, что не добавляет в строке браузера приставки /#link. Script Скорость перехода может регулироваться. В предложенном Читать далее »

Добавить комментарий

Пока нет комментариев. Будь первым!

Модальное окно на jquery
Наводим порядок в админке
Рекомендации для васНаводим порядок в админкеOpttour.ru
Спасибо! Наш менеджер свяжется с Вами в течении 5 минут.