私は何をしようとしているのか明確に説明していませんでした。うまくいけば、これはより良いでしょう。リンクを含む複数のDivを表示/非表示
現在、私はthis Fiddleを使用していくつかのdivを切り替えています。アコーディオンとして機能し、一度に1つのdivのみを表示します。タイトルの1つをクリックするとそのdivの内容が表示され、別のタイトルをクリックすると最初のdivが非表示になり、そのタイトルが表示されます。
1つのdivを開くときに問題が起きました(そしてやりたいことは)最初のdivが閉じられるまで他のdivへのアクセスを非表示にしたいと思います。
「コンテンツ2」をクリックしてそのコンテンツを表示すると、コンテンツ2が再び閉じるまでコンテンツ1、コンテンツ3、およびコンテンツ4へのアクセスを非表示にしたいとします。
function ReverseDisplay(d) {
var els = document.querySelectorAll('.toggle.active:not(#' + d + ')');
for (var i = 0; i < els.length; i++) {
els[i].classList.remove('active');
}
document.getElementById(d).classList.toggle('active')
}
.toggle {
display: none;
}
.toggle.active {
display: block;
}
<a href="javascript:ReverseDisplay('content1')">
\t Content1
</a>
<a href="javascript:ReverseDisplay('content2')">
\t Content2
</a>
<a href="javascript:ReverseDisplay('content3')">
\t Content3
</a>
<a href="javascript:ReverseDisplay('content4')">
\t Content4
</a>
<div id="content1" class="toggle">
<p>Content 1 goes here.</p>
</div>
<div id="content2" class="toggle">
<p>Content 2 goes here.</p>
</div>
<div id="content3" class="toggle">
<p>Content 3 goes here.</p>
</div>
<div id="content4" class="toggle">
<p>Content 4 goes here.</p>
</div>
このリンクを再度開くにはどうすればよいですか? –
これが可能なら質問がありますか?はい、確かに可能です。 –
はい、可能です。あなた自身の試みをいくつか行い、問題が帰ってきたら、あなたの試みを表示してください。誰かがそれをデバッグして解決策を提示するかもしれないと確信しています。 – NewToJS