У меня проблема с оператором if, который вызывается, когда пользователь нажимает на элемент.Ниже приведен код указанного элемента:
<div id="dropdown" onclick="dropper()" class="YearEvents_2016">
<h1>2016</h1>
</div>
код функции "dropper ()":
function dropper() {
var x = document.getElementById('dropdown');
var y = document.getElementById('YearEvents');
if (x.style.height === "14vh") {
x.style.height = "75vh";
y.style.height = "100vh";
} else {
x.style.height = "14vh";
y.style.height = "40vh";
}
}
Когда пользователь щелкает элемент,код выполняется и переменные x и y изменены.Однако при повторном щелчке по элементу (чтобы снова уменьшить высоту переменной x до 14) ничего не происходит, несмотря на то, что остальная часть выражения показывает, что что-то должно произойти.
Не уверен, что это что-то совершенно очевидно;Я не настолько продвинут в Javascript.Любая помощь в том, почему функция не запускается снова при повторном нажатии на элемент, будет принята с благодарностью.
Редактировать Подобно уменьшению высоты x (из оператора else), переменная y также не уменьшается в размере.Есть ли способ заставить оба изменения x и y работать в одном и том же операторе, и, кроме того, есть способ отложить выполнение уменьшения y, чтобы немного уменьшить размер элемента x до того, как это сделает элемент y?Спасибо за помощь снова и снова.
TL; DR оба элемента x & y увеличиваются в размере при первом запуске, затем оба x & y уменьшаются в размере при втором запуске, но с уменьшением размера y после x.