#javascript #html #display
Вопрос:
Я новичок в JS, поэтому мой вопрос возможен, если у меня много разделов, и я могу открывать их при нажатии на кнопку (они display: none;
по умолчанию и открываются при нажатии на кнопку меню на той же странице). Мне нужно создать ссылки, которые, если кто-то введет в адресное поле, откроются эти разделы… но как это сделать, если это display: none;
по адресу? Может быть, я ошибаюсь, и вы можете предложить какой-нибудь лучший метод ?
<section style="display: none;" id="sectionIepirkumi" class="w3-container w3-threequarter section">
<div id="sectionTopLine" class="w3-border-top w3-border-green"></div>
<h5 id="sectionAddress" class="w3-margin-bottom">
<a id="sectionAddressFirstPageLink" class="sectionAddressLink" onclick="openSection('sectionFirstPage')">
Sākumlapa </a>/
<a class="sectionAddressLink" onclick="openSection('sectionAboutSchoolPage')"> Par Skolu </a>/
<a class="" style="font-weight: bold;"> IEPIRKUMI</a>
</h5>
<div id="sectionBottomLine" class="w3-border-top w3-border-green w3-margin-bottom"></div>
<div class="w3-panel w3-border">
<h3>Uz doto momentu nav aktuālu iepirkumu!</h3>
</div>
</section>
function myFunction(id) {
var x = document.getElementById(id);
if (x.className.indexOf("w3-show") == -1) {
x.className = " w3-show";
} else {
x.className = x.className.replace(" w3-show", "");
}
}
Комментарии:
1. Где вы называете мою функцию?
Ответ №1:
Вы усложняете это, потому что из-за этого(вместо использования if..else) существует метод classList, который позволяет переключать класс нужного элемента. Этот метод называется toggle().
Позже вы можете создать класс с именем .show
, который изменит отображение вашего элемента на блокировку, когда элементу будет присвоен класс.
Напоминание : Никогда не используйте var
, используйте let amp; const
самый новый синтаксис. (ecma-сценарий 6)
function myFunction() {
const container = document.getElementById('sectionIepirkumi');
container.classList.toggle('show');
};
document.querySelector('button').addEventListener('click', myFunction);
.show {
display: block !important;
}
<button type='button'>Click</button>
<section style="display: none;" id="sectionIepirkumi" class="w3-container w3-threequarter section">
<div id="sectionTopLine" class="w3-border-top w3-border-green"></div>
<h5 id="sectionAddress" class="w3-margin-bottom">
<a id="sectionAddressFirstPageLink" class="sectionAddressLink" onclick="openSection('sectionFirstPage')">
Sākumlapa </a>/
<a class="sectionAddressLink" onclick="openSection('sectionAboutSchoolPage')"> Par Skolu </a>/
<a class="" style="font-weight: bold;"> IEPIRKUMI</a>
</h5>
<div id="sectionBottomLine" class="w3-border-top w3-border-green w3-margin-bottom"></div>
<div class="w3-panel w3-border">
<h3>Uz doto momentu nav aktuālu iepirkumu!</h3>
</div>
</section>