このコードは正常に動作しています。非jQuery:最大高さがゼロの場合でも高さを取得
私がここでやっていることは、クラスアクティブの最大高さを誇張していますが、私が必要とするのは、同じスピードでエフェクトを実行できる正確な高さを指定することです。
この例では、私は動的なnavbarを書いていない、これは状態の欠如ですが、私はそれが指定したいものをカバーしていると思います。
w33racleをクリックすると、コンソールに数字が表示されます。しかし、0は必要な値ではありません。私はそれが任意の助けをいただければ幸いにかかわらず、それは
let test_clicker = document.getElementById('testClicker');
test_clicker.onclick = (e) => {
let self = e.target || e.srcElement,
s_s = self.nextElementSibling.classList;
s_s.contains('active') ? s_s.remove('active') : s_s.add('active');
console.log(self.nextElementSibling.clientHeight);
}
.dropdown {
max-height: 0;
overflow: hidden;
transition: all 0.3s ease-in-out; }
.dropdown.active {
max-height: 500px; }
<ul>
<li>
<a id="testClicker">w33racle</a>
<ul class="dropdown">
<li><a>This</a><li>
<li><a>is</a><li>
<li><a>for</a><li>
<li><a>sample</a><li>
<li><a>only</a><li>
</ul>
</li>
</ul>
.activeクラスを持っているかどうかのul.dropdown.activeの高さになりたいです。ありがとう
ああ、魅力的に働いていました:)ありがとう。 –