Возвращайте до 18% с пополнений рекламы
  • Все популярные рекламные сети в одном окне
  • Рекламные инструменты — бесплатно
  • Доступ к конструктору лендингов и WebApp-приложений
  • Закрывающие документы точно в срок
ring svg
  1. Главная >
  2. Блог >
  3. Как создать уведомления с помощью CSS3 и jQuery

Как создать уведомления с помощью CSS3 и jQuery

JQandCSS

В настоящее время, UX является ключевым фактором в создании / дизайне продукта или системы. Чтобы обеспечить хороший пользовательский опыт, разработчики изо всех сил стараются создавать интуитивный дизайн и эффективную интерактивность.

UX (user experience) это термин, который используется для описания общего впечатления и удовлетворенности пользователей при использовании продукта или системы. Так образом, хороший UX всегда сделает пользователя счастливым, а бизнес более успешным.

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

Разновидности уведомлений

Ниже представлен список общепринятых уведомлений:

  1. Информационный (info)
  2. Ошибки (error)
  3. Предупреждения (warning)
  4. Успешное выполнение задачи (success)

Информационный (info)

Ее целью является информирование пользователей о соответствующем вопросе.

Ошибки (error)

Когда операция закончилась неуспешно, пользователь должен быть уведомлен. Например: “Аккаунт не может быть удален.” или “Настройки не были сохранены” и т.д

Предупреждения (warning)

Этот тип сообщения уведомит пользователя о состоянии, которое может вызвать проблемы в будущем.

Успешное выполнение задачи (success)

Сообщение об успехе, должно отображаться после того как пользователь удачно выполнил действие.

HTML

Начнем с разметки HTML. Здесь все довольно-таки просто: 4 контейнера с заголовком и описанием уведомления.
 

<div class="info message">
		 <h3>Важно!</h3>
		 <p>Это всего лишь информационное уведомление.</p>
</div>

<div class="error message">
		 <h3>Упс, произошла ошибка</h3>
		 <p>Это всего лишь уведомление об ошибке.</p>
</div>

<div class="warning message">
		 <h3>Минуточку, мы должны Вас предупредить!</h3>
		 <p>Это всего лишь предупредительное сообщение.</p>
</div>

<div class="success message">
		 <h3>Поздравляем, вы завершили действие!</h3>
		 <p>Это всего лишь уведомление об успешном действие.</p>
</div>

CSS

.message{
		background-size: 40px 40px;
		background-image: linear-gradient(135deg, rgba(255, 255, 255, .05) 25%,
transparent 25%,
							transparent 50%, rgba(255, 255, 255, .05) 50%, rgba(255, 255, 255, .05) 75%,
							transparent 75%, transparent);										
		 box-shadow: inset 0 -1px 0 rgba(255,255,255,.4);
		 width: 100%;
		 border: 1px solid;
		 color: #fff;
		 padding: 15px;
		 position: fixed;
		 _position: absolute;
		 text-shadow: 0 1px 0 rgba(0,0,0,.5);
		 animation: animate-bg 5s linear infinite;
}

.info{
		 background-color: #4ea5cd;
		 border-color: #3b8eb5;
}

.error{
		 background-color: #de4343;
		 border-color: #c43d3d;
}

.warning{
		 background-color: #eaaf51;
		 border-color: #d99a36;
}

.success{
		 background-color: #61b832;
		 border-color: #55a12c;
}

.message h3{
		 margin: 0 0 5px 0;													 
}

.message p{
		 margin: 0;													 
}

@keyframes animate-bg {
    from {
        background-position: 0 0;
    }
    to {
       background-position: -80px 0;
    }
}

Обратите внимание на animate-bg, который оживляет фоновые диагональные полосы. Конечно для того, чтобы увидеть этот эффект, вы должны использовать последние Webkit браузеры, такие как Chrome / Safari или Mozilla 5 +.

Уведомления будут изначально скрыты. Для этого мы будем использовать фиксированное позиционирование ( absolute значение применяется только для IE6, поскольку там нету position:fixed поддержки).

 position: fixed;
 _position: absolute; /* IE6 only */

jQuery

Определение типа сообщения с использованием массива (array):

var myMessages = ['info','warning','error','success'];

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

function hideAllMessages()
{
		 var messagesHeights = new Array(); // этот массив сохранит высоту
для каждого
		 for (i=0; i<myMessages.length; i++)
		 {
				  messagesHeights[i] = $('.' + myMessages[i]).outerHeight(); // заполнить массив
				  $('.' + myMessages[i]).css('top', -messagesHeights[i]); //передвинуть элемент
за viewport	  
		 }
}

Функция showMessage вызывается, когда документ готов.

function showMessage(type)
{
	$('.'+ type +'-trigger').click(function(){
		  hideAllMessages();				  
		  $('.'+type).animate({top:"0"}, 500);
	});
}

При загрузке страницы, мы в первую очередь скрываем все сообщения: hideAllMessages(). Затем, для каждого триггера, мы показываем эквивалентное сообщение:

$(document).ready(function(){

		 // Спрятать все изначально
		 hideAllMessages();

		 // Показать сообщение
		 for(var i=0;i<myMessages.length;i++)
		 {
			showMessage(myMessages[i]);
		 }

		 // Когда по сообщению кликнули, спрятать его
		 $('.message').click(function(){			  
				  $(this).animate({top: -$(this).outerHeight()}, 500);
		  });		 

});

Заключение

С использованием CSS3, вы можете найти бесконечные варианты оформления дизайна уведомлений. Наш вариант является лишь минимальным примером без изображений (для простоты) и “наворотов”. Но дизайн, это еще не все, функциональность и интерактивность играют здесь очень важную роль.

 

Высоких конверсий! 

blog comments powered by Disqus
Возвращайте до 18% с пополнений рекламы
  • Все популярные рекламные сети в одном окне
  • Рекламные инструменты — бесплатно
  • Доступ к конструктору лендингов и WebApp-приложений
  • Закрывающие документы точно в срок
ring svg
copyright © 2011–2024 Все права защищены
Запрещено любое копирование материалов ресурса без письменного согласия владельца — ООО "Феникс-Маркетинг". ИНН:7725812838, КПП:772501001, ОГРН: 513774619323915280, Москва, ул. Ленинская слобода, д. 19, стр. 1, этаж/пом 3/25

ООО «Феникс-Маркетинг» — IT-компания с многолетним опытом работы, разрабатывающая инновационные решения для управления процессом лидогенерации (пост-клик маркетинг). Разработанное нами технологическое программное решение LPGENERATOR позволяет создавать целевые страницы в визуальном редакторе и управлять заявками (лидами) в CRM-системе в целях проведения эффективных, высококонверсионных рекламных кампаний