Итак, для начала давайте выясним, что веб-мастера называют сплойлером.
Сплойлер – это скрытая информация на сайте, которая появляется после нажатия кнопки или ссылки.
Например, на сайтах размещают лупу поиска и при нажатии на нее, открывается блок с полем поиска. Или в конце статьи ставят ссылку, например, «комментарии» и при нажатии по этой ссылке, откроются скрытые комментарии.
Я думаю все предельно просто!
Как же такой эффект для сайта реализовать?
Вот рабочий код:
<!DOCTYPE html>
<html>
<head>
<!-- Подключаем jQuery -->
<script ENGINE="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js"></script>
<!-- Скрипт плавного открытия и закрытия блока -->
<script type='text/javascript'>
$(document).ready(function() {
$("A#trigger").toggle(function() {
// Отображаем скрытый блок
$("DIV#box").fadeIn(); // fadeIn - плавное появление
return false; // не производить переход по ссылке
},
function() {
// Скрываем блок
$("DIV#box").fadeOut(); // fadeOut - плавное исчезновение
return false; // не производить переход по ссылке
}); // end of toggle()
}); // end of ready()
</script>
</head>
<body>
<a href='#' id='trigger'>Открыть/скрыть информацию</a>
<div id='box' style='display: none;padding:10px;background-color:#f1f1f1;margin:10px;width:210px;'>Содержимое скрытого блока</div>
</body>
</html>
Этот код выводит один скрытый элемент после нажатия на ссылку или кнопку. Теперь готовый код для отображения нескольких скрытых элементов:
<html xmlns="https://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Спойлеры</title>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('.spoiler_links').click(function(){
$(this).parent().children('div.spoiler_body').toggle('normal');
return false;
});
});
</script>
<style type="text/css">
.spoiler_body {display:none;background-color:#f1f1f1;height:100px;width:200px;}
.spoiler_links {cursor:pointer;}
</style>
</head>
<body>
<div>
Спойлер №1 <a href="" class="spoiler_links">показать / скрыть</a>
<div class="spoiler_body">
Текст в первом спойлере<br>
Текст в первом спойлере
</div>
</div>
<div>
Спойлер №2 <a href="" class="spoiler_links">показать / скрыть</a>
<div class="spoiler_body">
Текст во втором спойлере<br>
Текст во втором спойлере
</div>
</div>
<br>
<input type="button" value="Закрыть все" onclick=$("div[class^='spoiler_body']").hide('normal')>
<input type="button" value="Открыть все" onclick=$("div[class^='spoiler_body']").show('normal')>
</body>
</html>
Чтобы добавить еще один или несколько скрытых блоков, достаточно добавить вот такой код:
<div> Спойлер №3 <a href="" class="spoiler_links">показать / скрыть</a> <div class="spoiler_body"> Текст во втором спойлере<br> Текст во втором спойлере </div> </div>
Это будет выглядеть вот так:
<html xmlns="https://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Спойлеры</title>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('.spoiler_links').click(function(){
$(this).parent().children('div.spoiler_body').toggle('normal');
return false;
});
});
</script>
<style type="text/css">
.spoiler_body {display:none;background-color:#f1f1f1;height:100px;width:200px;}
.spoiler_links {cursor:pointer;}
</style>
</head>
<body>
<div>
Спойлер №1 <a href="" class="spoiler_links">показать / скрыть</a>
<div class="spoiler_body">
Текст в первом спойлере<br>
Текст в первом спойлере
</div>
</div>
<div>
Спойлер №2 <a href="" class="spoiler_links">показать / скрыть</a>
<div class="spoiler_body">
Текст во втором спойлере<br>
Текст во втором спойлере
</div>
</div>
<div>
Спойлер №2 <a href="" class="spoiler_links">показать / скрыть</a>
<div class="spoiler_body">
Текст во втором спойлере<br>
Текст во втором спойлере
</div>
</div>
<br>
<input type="button" value="Закрыть все" onclick=$("div[class^='spoiler_body']").hide('normal')>
<input type="button" value="Открыть все" onclick=$("div[class^='spoiler_body']").show('normal')>
</body>
</html>
Понравился пост? Помоги другим узнать об этой статье, кликни на кнопку социальных сетей ↓↓↓
Последние новости категории:
Похожие статьи
Популярные статьи:
-
Как узнать id компьютера
Дата: 29 марта 2013
Прокомментировано:90
просмотров: 331671 -
Размеры форматов листов А0 – А7
Дата: 23 января 2013
Прокомментировано:3
просмотров: 275609 -
Смешные логические загадки с подвохом, отгадки прилагаются
Дата: 12 ноября 2014
Прокомментировано:5
просмотров: 226702 -
Готовые макеты блоков для веб-страниц на HTML и CSS
Дата: 25 июня 2014
Прокомментировано:23
просмотров: 193199 -
Установка windows 7 на ноутбук
Дата: 18 декабря 2012
Прокомментировано:169
просмотров: 187093
9 Ответов на комментарий - Как создать спойлер для сайта
Добавить комментарий
Метки: для сайта, эффекты для сайта


Шумящий эффект для картинки при наведении
Эффект для ссылки – радужная ссылка
Выделение цветом ссылок при наведении на параграф
Фиксированное меню при прокрутке сайта
Переадресация страницы на другую страницу или сайт
Как убрать рекламу на некоторых страницах сайта?
Зеркальный эффект отражения текста в CSS

Ого, а я все думал: что такое спойлер? Встречал несколько раз, но т.к. вопрос не принципиальный, то не вникал в суть. Теперь знаю.
Степан, приведи пример, где у себя в блоге используешь?
Ох, коды коды.
Куда, зачем и прочее. Может лучше социальный замок поставить
И польза, и информацию можно скрыть 
Блок справа «Свежие комментарии». Нажмите на кнопку «TOP-комментаторов».
Хочу заметить, что в примере язык спойлера не русский!))
Автор, наверное ты должен знать такую строчку кода в каждой html-странице:
Эта строка позволяет браузеру понять, что здесь на русском всё написано
В общем не будет таких иероглифов 
Спасибо за поправку, но вынужден вас немного поправить. Если ставить метатег
, и и файл должен быть сохранен в utf-8 без бум. Я думаю вы это знаете, если нет, прочитайте об это в этой статье.
И если вы заметили, не дописано только в первом коде метатег, а в остальных все чики-пуки.
В общем, у вас получилось показать, что вы крут и знаете, что такое
и куда его вставлять.
Kласс!
А можно сделать так, что бы при нажатии на ссылку(спойлер), содержании ссылки исчезала, после того как она показала нам информацию, а сама информация осталась?
Первый спойлер херня полная, 2 не поставишь, открываются оба.
id каждого спойлера должен быть уникальным. Замените и в се заработает так как надо. Это основы JavaScript.
Можно!
<script ENGINE="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ $('.spoiler-body3').hide(); $('.spoiler-title3').click(function(){ $(this).toggleClass('opened').toggleClass('closed').next().slideToggle(); if($(this).hasClass('opened')) { $(this).html(''); } else { $(this).html('Показать текст'); } }); }); </script> <b class="spoiler-title3 closed">Показать текст</b> <div class="spoiler-body3"> Форма контактов </div>