В этой статье, я покажу два примерчика, с помощью которых, можно сделать плавное появление скрытой информации при нажатии по ссылке или кнопке.
Другими словами, узнаете, как сделать спойлер.
Для начала посмотрите пример:
Для того, чтобы работал спойлер, нужно подключить библиотеку jQuery. Для этого в шапке сайта пропишите вот такой код:
<script ENGINE="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
Теперь вставьте html код:
<b class="spoiler-title">показать / скрыть</b> <div class="spoiler-body"> Здесь могут быть правила, картинки, фотогалерея, видео, форма контактов и т.д. </div>
В CSS добавьте вот это:
.spoiler-body { display:none;background:#f1f1f1; }
Способ №1
При нажатии на «показать / скрыть» плавно выплывет скрытый блок с информацией, при этом текст «показать / скрыть» остается. При нажатии повторно на текст «показать / скрыть» появившийся блок плавно скроется. Для этого вставьте вот такой скрипт:
<script type="text/javascript"> $(document).ready(function(){ $('.spoiler-title').click(function(){ $(this).parent().children('.spoiler-body').slideToggle(500); returnfalse; }); }); </script>
Строка №4 – можно регулировать скорость открытия скрытого блока (в миллисекундах).
...........slideToggle(500);
500 - миллисекунды
Полностью готовый код:
<html> <head> <title>кодировка HTML</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script> <style> .spoiler-body { display:none;background:#f1f1f1; } </style> </head> <body> <script type="text/javascript"> $(document).ready(function(){ $('.spoiler-title').click(function(){ $(this).parent().children('.spoiler-body').slideToggle(500); returnfalse; }); }); </script> <b class="spoiler-title">показать / скрыть</b> <div class="spoiler-body"> Здесь могут быть правила, картинки, фотогалерея, видео, форма контактов и т.д.<br> <img src="http://stepkinblog.ru/wp-content/themes/stepkinblog/images/heder.png"> </div> </body> </html>
Способ №2
При нажатии на «показать / скрыть» плавно выплывет скрытый блок с информацией, при этом текст «показать / скрыть» остается. При нажатии повторно на текст «показать / скрыть» появившийся блок плавно скроется. Для этого вставьте вот такой скрипт:
<script type="text/javascript"> $(document).ready(function(){ $('.spoiler-body').hide(); $('.spoiler-title').click(function(){ $(this).toggleClass('opened').toggleClass('closed').next().slideToggle(800); if($(this).hasClass('opened')) { $(this).html('Скрыть текст'); } else { $(this).html('Показать текст'); } }); }); </script>
Строка №5 – можно регулировать скорость открытия скрытого блока (в миллисекундах).
..........slideToggle(800);
800– миллисекунды
Строка №7 и №10 – текст можно менять (Скрыть текст и Показать текст)
Полностью готовый код:
<html> <head> <title>кодировка HTML</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script> <style> .spoiler-body { display:none;background:#f1f1f1; } </style> </head> <body> <script type="text/javascript"> $(document).ready(function(){ $('.spoiler-body').hide(); $('.spoiler-title').click(function(){ $(this).toggleClass('opened').toggleClass('closed').next().slideToggle(800); if($(this).hasClass('opened')) { $(this).html('Скрыть текст'); } else { $(this).html('Показать текст (текст 2)'); } }); }); </script> <b class="spoiler-title">Показать текст (текст 1)</b> <div class="spoiler-body"> Здесь могут быть правила, картинки, фотогалерея, видео, форма контактов и т.д.<br> <img src="http://stepkinblog.ru/wp-content/themes/stepkinblog/images/heder.png"> </div> </body> </html>
По-моему, неплохо будет для вашего сайта или блога.
Второй спойлер я недавно использовал для одного заказа, чтобы пользователь мог выбрать вид услуги (или несколько услуг), при этом цены автоматически суммировались, и при нажатии на кнопку «Заказать», появлялся скрытый блок с формой заказа:
Шаг 1
Шаг 2
Шаг 3
Вот такую хитрость можно сделать, используя спойлер. Удачи всем!
Понравился пост? Помоги другим узнать об этой статье, кликни на кнопку социальных сетей ↓↓↓
Последние новости категории:
Похожие статьи
Популярные статьи:
-
Как узнать id компьютера
Дата: 29 марта 2013
Прокомментировано:90
просмотров: 330330 -
Размеры форматов листов А0 – А7
Дата: 23 января 2013
Прокомментировано:3
просмотров: 274683 -
Смешные логические загадки с подвохом, отгадки прилагаются
Дата: 12 ноября 2014
Прокомментировано:5
просмотров: 222437 -
Готовые макеты блоков для веб-страниц на HTML и CSS
Дата: 25 июня 2014
Прокомментировано:23
просмотров: 187488 -
Установка windows 7 на ноутбук
Дата: 18 декабря 2012
Прокомментировано:169
просмотров: 186559
8 Ответов на комментарий - Как сделать плавное появление блока (спойлер)
Добавить комментарий
Метки: css, html, javascript, Вебмастеру, для сайта, эффекты для сайта
Красиво, полезно, может, пригодится. Только не понял, почему используется
? Почему не
?
Хорошо, а как сделать расчет по формулам? Как в примере.
Тимофей, здесь это на эффект не влияет, можно ставить и и другие теги(div, a, p, b, i, h1-h3…). Эффект работает благодаря CSS-классам.
Это не расчет по формулам, это подсчет значений value у выбранных чекбоксов.
Спасибо. Классный эффект. Но как сделать, к примеру, есть 2 блока рядом и чтобы при нажатие на второй первый закрывался?
Вот так, Виктор:
Вот вам еще одно интересное решение без всяких “жаваскриптов” – чистый html + немного css.
Приклеить анимацию на том же CSS, думаю, проблемы не составит.