javascript JQuery Пример спойлера -- скрыть и показать часть текста, блок при клике по ссылке, пример
Primary tabs
Полезные примеры HTML CSS JS
Пусть html ссылки при нажатии на которую спойлер будет открываться, выглядит так:
<a href="" class="spoiler-link" data-spoiler-id="r123">[развернуть/свернуть]</a>
А блок, в который будет показываться или скрывать при нажатии на неё:
<p class="spoiler-body" data-spoiler-body-id="r123"> Что-то, что нужно скрыть </p>
CSS, который необходимо подключить, чтобы блок изначально был свёрнут (скрыт):
.spoiler-body { display: none; }
JQuery обработчик события разворачивания/сворачивания по клику на управляющий элемент (в данном случае -- ссылку):
//console.log('hello!'); $(document).ready(function(){ //console.log('start bind!'); $('.spoiler-link').click(function(){ var selector = '[data-spoiler-body-id=' + $(this).data('spoiler-id') + ']'; //console.log(selector, $(this).parent().children(selector)); $(selector).toggle('normal'); return false; }); });
Как это работает
Данный пример позволяет связать любые два элемента на странице (вне зависимости от вложенности в другие блоки и взаимного расположения), причём один из этих элементов будет управляющим (класс spoiler-link), а другой управляемым (класс spoiler-body).
Связь между управляющим и управляемым осуществляется за счёт установки совпадающих значений для нестандартных атрибутов:
- data-spoiler-id -- у управляющего.
- data-spoiler-body-id -- у управляемого.
На базе примера: http://usefulscript.ru/spoiler_smooth_op...
- Log in to post comments
- 5134 reads