Есть блоки:
<div class="block1">
<h1 class="close1">Закрыть блок 1</h1>
</div>
<div class="block2">
<h1 class="close2">Закрыть блок 2</h1>
</div>
<div class="block3">
<h1 class="close3">Закрыть блок 3</h1>
</div>
<div class="block hidden">
<h1 class="close">Закрыть блок 4</h1>
</div>
<div class="block hidden">
<h1 class="close">Закрыть блок 5</h1>
</div>
<div class="block hidden">
<h1 class="close">Закрыть блок 6</h1>
</div>
<div class="block hidden">
<h1 class="close">Закрыть блок 7</h1>
</div>
И скрипт, в результате которого отслеживаются нажатия на классы
close1, close2 и
close3 и прячутся блоки
block1, block2, block3. Так-же показывается один новый блок (если имеется) и у этого "нового" блока изменяется класс close на
close1, close2 или
close3. Вот сам
JQUERY скрипт:
$(function() {
$('.close1').click(function() {
$('.block1').addClass('hide');
if ( $('.block:visible').length < 1 ) {
$('.block:first').addClass('block1');
} else {
$('.block:visible').next().addClass('block1');
}
$('.block1').removeClass('hidden');
$('.block1 .close').addClass('close1');
$('.close1').removeClass('close');
});
});
$(function() {
$('.close2').click(function() {
$('.block2').addClass('hide');
if ( $('.block:visible').length < 1 ) {
$('.block:first').addClass('block2');
} else {
$('.block:visible').next().addClass('block2');
}
$('.block2').removeClass('hidden');
$('.block2 .close').addClass('close2');
$('.close2').removeClass('close');
});
});
$(function() {
$('.close3').click(function() {
$('.block3').addClass('hide');
if ( $('.block:visible').length < 1 ) {
$('.block:first').addClass('block3');
} else {
$('.block:visible').next().addClass('block3');
}
$('.block3').removeClass('hidden');
$('.block3 .close').addClass('close3');
$('.close3').removeClass('close');
});
});
Ну и простые стили:
.hide{
display: none;
}
.hidden{
display: none;
}
.block1, .block2, .block3{
background:#cfcfff
}
.close1, .close2, .close3{
cursor: pointer;
}
Проблема в том, что когда класс
close заменяется например на
close1, то нажатие на него ничего не даёт.
Вот как этот скрипт работает:
codepen.io