Создание простой анимированной формы входа
На сайтах не раз замечал формы входа которые содержали ошибки и не имели возможности проверить правильности заполнения полей, или возвращение на обратную страницу из-за неправильности заполнения. По этому в данном уроке я расскажу как создать простую и в то же время уникальную форму входа для вашего сайта при помощи jQuery, и так, посмотрим что у нас с этого получится…
И так, наша форма входа будет иметь приблизительно такой вид:
Данный прием на самом деле совсем несложный. Пользователь нажимает на кнопку »Я все заполнил правильно», программа производит проверку и все незаполненные поля ‘’дрожат’’. Для начала нам нужна структура формы входа, выглядеть она будет так:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
<ul> <li> <h3>Ваше имя</h3> <p> <input type="text" value="..." id="name" name="name" /></p> </li> <li> <h3>Email</h3> <p> <input type="text" value="...@mail.com" name="email" /></p> </li> <li> <h3>Пароль</h3> <p> <input type="password" name="passwd" /></p> </li> <li> <h3>Еще раз паролик</h3> <p> <input type="password" name="passwd_conf" /></p> </li> <li> <h3>Ваш ник</h3> <p> <input type="text" value="мой ник" id="userName" name="user_name" /></p> </li> </ul> |
Следующим этапом будет оживление нашей формы входа при помощи анимации: пользователь нажимает на кнопку »Я все заполнил правильно», и jQuery анализирует все поля для ввода данных. И если хотя бы одно из полей не заполнено, то к этому полю применяется анимация.
1 2 3 4 5 6 7 8 |
$("#signup").click(function() { var emptyfields = $("input[value=]"); if (emptyfields.size() > 0) { emptyfields.each(function() { // здесь анимация }); } }); |
Теперь нам надо, чтобы каждое незаполненное поле сдвигалось на 10 пикселей влево, затем на 10 пикселей вправо, и данный эффект повторялся два раза, после чего текстовое поле должно вернуться в исходное положение.
1 2 3 4 5 6 7 8 9 10 11 12 |
$("#signup").click(function() { var emptyfields = $("input[value=]"); if (emptyfields.size() > 0) { emptyfields.each(function() { $(this).stop() .animate({ left: "-10px" }, 100).animate({ left: "10px" }, 100) .animate({ left: "-10px" }, 100).animate({ left: "10px" }, 100) .animate({ left: "0px" }, 100) .addClass("required"); }); } }); |
Вот на этом наша форма входа и готова, она является не совсем практичной, но в умелых руках она весьма пригодится, и напоследок, пожалуйста, не забывайте, что применение подобной анимации не может полностью заменить статичную проверку соответствия.
Читайте также:
Опубликовал Cooper 28.07.2011 в 13:22, в категории jQuery. Вы можете следить за комментариями через RSS 2.0. Вы можете оставить комментарий или трэкбэк с вашего сайта. |