@StartPy

Раскрытие блока по id?

Есть код, он выполняет скрытие и раскрытие блока, но если вставить вторую пару дивов, то сразу все скрытые блоки открываются при нажатии на "Показать текст". Я пробовал просто сделать content_toggle1 и content_block1, те ставить порядковый номер, но это порождает кучу лишнего кода. Тут надо как-то использовать id, но я не понимаю как. Не поможете?)
<a class="content_toggle" href="#">Показать текст</a>
 
<div class="content_block" style="display: none;">
	<p>Блок скрытого текста...</p>
</div>
 <a class="content_toggle" href="#">Показать текст2</a>
 
<div class="content_block" style="display: none;">
	<p>Блок скрытого текста2...</p>
</div>
<script src="/js/jquery.min.js"></script>
<script>
$(document).ready(function(){
	$('.content_toggle').click(function(){
		$('.content_block').slideToggle(300, function(){
			if ($(this).is(':hidden')) {
				$('.content_toggle').html('Показать текст');
			} else {
				$('.content_toggle').html('Скрыть текст');
			}							
		});
		return false;
	});
});
</script>
  • Вопрос задан
  • 147 просмотров
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
id должен быть уникальным. Пусть определяет для ссылки – блок, которым та рулит:
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@MamaLuyba
если собираешься создавать блоки динамически - вешай обработчик сразу там. если в шаблоне - вешай click, в который передавай event, в котором и будет нужный блок.
ну, или как посоветовали выше, нужные уникальные идентификаторы блоков.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы