Stack Overflow на русском Asked by Stop-TussiN on February 21, 2021
Есть такой вид списка новостей:
<ul class="news">
<li>Новость 1</li>
<li>Новость 2</li>
<li>Новость 3</li>
<li style="display:none;">Новость 4</li>
<li style="display:none;">Новость 5</li>
<li style="display:none;">Новость 6</li>
<li style="display:none;">Новость 7</li>
<li style="display:none;">Новость 8</li>
</ul>
<a href="">Показать еще</a>
Как сделать действие на кнопке "Показать еще", чтобы 3 следующие скрытые новости отобразились? При нажатии на кнопку еще раз – отобразились оставшиеся 2 скрытые новости.
У меня есть скрипт на javascript, который достает новости из базы mysql. Но необходим именно такой метод вывода, без подключения базы данных.
function showMore() {
var hidden = document.querySelectorAll('.news .hidden');
for (let i = 0; i < 3 && i < hidden.length; i++) {
hidden[i].classList.remove('hidden');
}
}
.hidden {
display:none;
}
<ul class="news">
<li>Новость 1</li>
<li>Новость 2</li>
<li>Новость 3</li>
<li class="hidden">Новость 4</li>
<li class="hidden">Новость 5</li>
<li class="hidden">Новость 6</li>
<li class="hidden">Новость 7</li>
<li class="hidden">Новость 8</li>
</ul>
<a href="#" onclick="showMore()">Показать еще</a>
Correct answer by Igor on February 21, 2021
А зачем JavaScript? Всё реализуется средствами HTML. В примере даже CSS только для декораций. Без CSS работает не хуже.
details[open]>summary {
display: none;
}
summary {
display: block;
cursor: pointer;
padding: 10px;
font-family: "Space Mono", monospace;
transition: .3s;
border: 1px solid;
user-select: none;
text-align: center;
}
<ul>
<li>Новость 1</li>
<li>Новость 2</li>
<details>
<summary>Показать еще</summary>
<li>Новость 3</li>
<li>Новость 4</li>
<li>Новость 5</li>
<details>
<summary>Показать еще</summary>
<li>Новость 6</li>
<li>Новость 7</li>
<li>Новость 8</li>
<details>
<summary>Показать еще</summary>
<li>Новость 9</li>
<li>Новость 10</li>
<li>Новость 11</li>
<details>
<summary>Показать еще</summary>
<li>Новость 12</li>
<li>Новость 13</li>
<li>Новость 14</li>
</details>
</details>
</details>
</details>
</ul>
Answered by DiD on February 21, 2021
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP