logo
  • Главная

Создаем заглушку для сайта с таймером обратного отсчета

Создан:13/06/2014 Автор: Илья Нахимов
Заглушка для сайта с таймером обратного отсчета

Заглушка для сайта с таймером обратного отсчета

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

По мере развития современных инструментов веб-разработки, подобные страницы превратились из простых страниц с текстом в более интересные решения.

ДемоИсходники

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

В этом уроке мы создадим именно такую заглушку для сайта, которая будет содержать форму подписки и таймер обратного отсчета, реализованный с помощью JQuery-плагина от Кейта Вуда.

Нужные для урока материалы:

  • Шрифт Open Sans (Google Font)
  • Шрифт Montserrat (Google Font)
  • reset.css (таблица стилей)
  • Библиотека JQuery
  • JQuery-плагин обратного отсчета
  • Любое фоновое изображение
  • Время и терпение.

Структура файлов проекта:

Структура файлов проекта

Структура файлов проекта

index.html — основной файл проекта

папка «js» — папка с JavaScript/JQuery скриптами

папка «img» — папка с изображениями проекта

папка «css» — папка с таблицами стилей проекта (css-файлы)

Приступаем к работе

Первым этапом работы у нас будет подключение к основному html-файлу таблиц стилей и jquery-библиотеки.
Подключаем файлы внутри тега head.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta content="width=device-width, initial-scale=1, maximum-scale=1" name=
    "viewport">

    <title>Coming Soon with Counter</title>
    <link href=
    'https://fonts.googleapis.com/css?family=Open+Sans:400italic,600italic,700italic,400,600,300,700,800'
    rel='stylesheet' type='text/css'>
    <link href='https://fonts.googleapis.com/css?family=Montserrat:400,700' rel=
    'stylesheet' type='text/css'>
    <link href="css/reset.css" media="screen" rel="stylesheet">
    <link href="css/style.css" media="screen" rel="stylesheet">
    <script type="text/javascript" src="js/jquery-1.11.0.min.js"></script>
</head>

HTML

Для нашего html-документа создадим разметку. Все элементы страницы будут находиться внутри тега div с идентификатором «container». Внутри этого блока у нас будут заголовки, счетчик, форма обратной связи и футер (нижний блок с авторскими правами).

<body>
    <div class="container">
        <header>
            <h1>Our website is Coming Soon</h1>
        </header>

        <section>
            <h2>WE APOLOGIZE FOR INCONVENIENCE</h2>

            <p class="details">YOU NEED TO WAIT...</p>

            <div id="counter"></div>

            <p class="details">SEND ME DETAILS ABOUT IT</p>

            <div id="subscribe">
                <form action="" id="subscribe-form" method="post" name=
                "newsletter-form">
                    <p class="form-field"><input id="subcribe_email" name=
                    "subscribe_email" placeholder="Your email" type="email"
                    value=""></p>

                    <p class="form-submit"><input id="subscribe_submit" name=
                    "subscribe_submit" type="submit" value="Notify Me"></p>
                </form>
            </div>
        </section>

        <footer>
            <a href="http://www.1stwebdesigner.com/" target="_blank">Copyright
            - 1stwebdesigner.com - 2014</a>
        </footer>
    </div>

Обратите внимание, что мы оставили пустым блок div с идентификатором «counter». Этот идентификатор мы позже используем, чтобы связать его с нашим jquery-плагином и добавим к нему css-стили.

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

Разметка HTML

Разметка HTML

CSS

Теперь создадим для нашего проекта css-файл, в котором будут расположены все стили. В первую очередь добавим стили для основных элементов: body, h1, h2 и блока с идентификатором «container». Для блока «container» ширину указываем в процентах, чтобы он изменялся в зависимости от размера окна браузера.

Для тега h1 применим CSS3 трансформацию, что позволит ему вращаться на 360 градусов по оси X. Подробнее об этом свойстве можно прочитать здесь.

body {
    color: #dadada;
    line-height: 1.75;
    width: 100%;
    background: url(../img/background.jpg)center;
    font-family: 'Open Sans';
}

h1,h2{
    color: #fff;
    line-height: 1.16667;
    text-align: center;
    text-transform: uppercase;
    text-shadow: 2px 2px 2px rgba(150,150,150,1);
}

h1 {
    font-size: 43px;
    font-family: Montserrat;
    font-weight: 700;
    border: 2px dashed #fff;
    margin-top: 50px;
    padding: 10px;
    cursor: pointer;
    -webkit-transition: all .8s ease;
    -moz-transition: all .8s ease;
    -o-transition: all .8s ease;
    transition: all .8s ease;
}

h1:hover {
    -webkit-transform: rotateX(360deg);
    -moz-transform: rotateX(360deg);
    -ms-transform: rotateX(360deg);
    -o-transform: rotateX(360deg);
    transform: rotateX(360deg);
}

h2 {
    font-size: 30px;
    font-weight: 300;
    margin-top: 30px;
}

.container {
    width: 58%;
    margin: 40px auto 0;
}

.details {
    margin-top: 30px;
    color: #fff;
    text-align: center;
    text-shadow: 2px 2px 2px rgba(150,150,150,1);
}

Далее применим для элементов формы стили, расположенные ниже. Таким образом мы оформим наше текстовое поле и кнопку.

button,input,textarea {
    font-size: 16px;
    max-width: 100%;
    margin: 0;
    border-radius: 0;
    vertical-align: baseline;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

textarea {
    overflow: auto;
    vertical-align: top;
}

input,textarea {
    background: #6e6e6e;
    background: rgba(169,169,169,0.3);
    border: 1px solid #f4f4f4;
    color: #fff;
    font-weight: 700;
    letter-spacing: 1px;
    padding: 12px;
    text-transform: uppercase;
}

input:focus,textarea:focus {
    outline: 0;
}

button:hover,button:focus,input[type=submit]:focus,input[type=submit]:hover {
    background: #ff8721;
    color: #fff;
    outline: 0;
}

button,input[type=submit] {
    -webkit-appearance: button;
    cursor: pointer;
}

button,input[type=submit] {
    background: #ffab00;
    -webkit-transition: all .5s;
    -moz-transition: all .5s;
    transition: all .5s;
}

.form-field {
    position: relative;
}

Следующим шагом у нас будет создание кроссбраузерного стиля для текстового поля.

::-webkit-input-placeholder {
	color: #fff;
}

::-moz-placeholder {
	color: #fff;
	opacity: 1;
}

::-ms-input-placeholder {
	color: #fff;
	opacity: 1;
}

.placeholder {
	color: #ff;
}

Теперь создадим стили для нашего счетчика. Напомню, что в html-документе он находится в блоке div с идентификатором «counter».

#counter {
    margin-top: 28px;
}

.countdown_section {
    color: #dadada;
    display: inline-block;
    font-size: 12px;
    text-align: center;
    width: 25%;
    letter-spacing: 1px;
    border-left: 1px dashed #dadada;
    border-color: rgba(218,218,218,0.8);
    padding: 42px 12px 28px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    text-shadow: 2px 2px 2px rgba(150,150,150,1);
    text-transform: uppercase;
}

.countdown_section:first-child {
    border-left: 0;
}

.countdown_amount {
    color: #fff;
    display: block;
    font-family: 'Open Sans';
    font-size: 60px;
    font-weight: 700;
    letter-spacing: normal;
    line-height: 1;
}

Теперь давайте добавим стилей для формы обратной связи. Максимальная ширина формы будет составлять 610px и установим для этой формы относительное позиционирование (position:relative). Расположим кнопку для отправки сообщения справа от текстового блока и установим для него абсолютное позиционирование (position:absolute).

#subscribe {
    max-width: 610px;
    position: relative;
	margin: 20px auto 0;
}

#subscribe-form .form-field {
    margin-right: 180px;
}

#subcribe_email {
    border-right: 0;
}

#subscribe-form .form-submit {
    height: 50px;
    position: absolute;
    right: 0;
    top: 0;
    width: 180px;
}

#subcribe_email,#subscribe_submit {
    width: 100%;
    display: block;
    height: 55px;
}

И в конце добавим свойств для элементов блока footer.

footer {
    font-size: 13px;
    text-align: center;
    margin-top: 25px;
    text-transform: uppercase;
    text-shadow: 2px 2px 2px rgba(150,150,150,1);
}

footer a {
    color: #fff;
}

Чтобы наша страница была отзывчивой, добавим медиа-запросы. Подробнее об этом свойстве можно прочитать тут (англ.)

@media only screen and (max-width: 720px) {

	footer{margin-bottom: 40px; }
}

@media only screen and (max-width: 680px) {

	.countdown_amount {
		font-size: 48px;
	}
}

@media only screen and (max-width: 540px) {
	.one-half {
		width: 100%;
	}

	.countdown_section {
		padding: 28px 6px 20px;
	}

	#subcribe_email{border: 1px solid #fff;}

	#subscribe-form .form-submit {
		margin: 0 auto;
		right: auto;
		position: static;
	}

	#subscribe-form .form-field {
		margin: 0 0 14px;
	}
}

@media only screen and (max-width: 480px) {
	h1 {
		font-size: 30px;
	}

	 h2{font-size: 25px;}

	.countdown_section {
	border: none;
		padding: 20px 20px;
		font-size: 13px;
		text-align: center;
	}
	.countdown_amount {
		font-size: 40px;
		padding: 0 0 10px 0;

	}

	#counter{width: 30%;  margin:0 auto;}
}

@media only screen and (max-width: 360px) {
     h2{font-size: 22px;}

	.countdown_section {
		padding: 21px 26px 21px 15px;
	}
	.countdown_amount {
		font-size: 36px;
	}
}

Если проверить отображение страницы в браузере, то она должна выглядеть так:

Страница с применением CSS-стилей

Страница с применением CSS-стилей

JQuery

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

<script type="text/javascript" src="js/jquery.countdown.min.js"></script>

Затем добавьте следующий код, чтобы отобразился наш счетчик. Вы можете изменить дату на счетчике в соответствии со своими пожеланиями. Достаточно указать нужную дату внутри параметра «launchdate».

$(document).ready(function() {
      var launchdate = new Date(2014, 6 - 1, 7);
      $('#counter').countdown({
          until: launchdate
      });
  })(jQuery); 

Заключение

Поздравляю! Вы только что создали классную страницу с таймером обратного отсчета. Данная страница позволит вам информировать своего посетителя о дате запуска вашего сайта и не потерять его.

Надеюсь, что Вам понравился данный урок. Оставляйте свои комментарии и вопросы, всегда рад ответить на них.

Источник

Рубрика: Веб-разработка | Теги: таймер обратного отсчета | 3 комментария
« Правила хорошего тона в «Фотошопе»
Шаблон landing-page Fudi (PSD) »

3 мысль о “Создаем заглушку для сайта с таймером обратного отсчета”

  1. Egor говорит
    21/11/2015 at 05:54

    А как мне потом собирать адреса, которые на меня подписались? Где они остаются?

    Ответить
    • Илья Нахимов говорит
      21/11/2015 at 10:57

      Для этого необходимо использовать php-обработчик, который будет собирать адреса в базу данных, либо подключить к этой форме сервис e-mail рассылок.

      Ответить
      • Egor говорит
        21/11/2015 at 22:29

        Ильдус, скажите а у вас нет материала как подключить этот самый php-обработчик?

        Ответить

Комментарии: Отменить ответ

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Защита от роботов * Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.

Уроки и статьи

  • Веб-дизайн (6)
  • Веб-разработка (1)
  • Инструменты и сервисы (5)
  • Скачать (19)
Главная | Об авторе
Copyright © design-secrets.ru 2015-2019