Как сделать спойлер для сайта (Html, Css, jQuery)
Иногда есть необходимость скрыть часть массивного, громоздкого кода или текста под спойлером, но при этом дать возможность пользователю легко получить к нему доступ и при этом все должно быть максимально удобно для посетителей сайта.
Для этих целей я активно использую свой скрипт спойлера для сайта и предлагаю его вам. Ниже в статье я подробно распишу, процесс создания и размещения его на своем сайте, а также прикреплю архив с примером.
Как это выглядит:
Html код:
Вставляем его в то место, где у вам необходимо спрятать массивный текст.
<div class="spoil"> <div class="sp_top"> <span class="sp_span">Текст заголовка</span> <button class="sp_button">Развернуть</button> </div> <div class="sp_text"> Текст или то, что душе угодно! =) </div> </div>
JavaScript:
Для работы нам понадобится подключить библиотеку jQuery, но, думаю, сейчас это в порядке вещей и не один сайт не обходится без использования данной библиотеки.
<script> $(document).ready(function () { $(document).on("click", ".sp_button", function () { spoyler(this); }); }); function spoyler(obj) { var spoil = $(obj).parent().parent(".spoil"); var he = spoil.find(".sp_text").innerHeight() + 60; if (spoil.height() == 24) { $(obj).text("Свернуть"); spoil.stop(true).animate({ height: he + "px" }, 200); } else { $(obj).text("Развернуть"); spoil.stop(true).animate({ height: 24 + "px" }, 200); } } </script>
Css:
<style type="text/css"> .spoil { position: relative; overflow: hidden; background: url(img/nline.png); border: 1px solid #c3c3c3; border-left: 6px solid #c3c3c3; margin: 15px 0 15px 0; height: 24px; } .spoil .sp_text { margin: 40px 10px 10px 10px; } .spoil .sp_top { position: absolute; top: 0; left: 0; width: 100%; height: 25px; background: rgba(195, 195, 195, 0.1); border-bottom: 1px solid #c3c3c3; display: table; } .spoil .sp_span { vertical-align: middle; display: table-cell; padding: 0 0 0 20px; } .spoil .sp_button { position: absolute; right: 2px; top: 2px; width: 100px; height: 20px; text-align: center; border: 1px solid #c3c3c3; background: #fff; } .spoil .sp_button:hover { box-shadow: inset 0 0 3px #ffd800; } </style>
И, обещанный ранее, пример:
Скачать пример спойлера для сайта (Прямая ссылка, RAR архив)
Вместе с этой статьей читают:
Хрюшка - копилка, как сделать кнопку благодарности (Html, Css, jQuery)Загрузить изображение на сервер через iframe без перезагрузки страницы (jq, php)