Ich habe eine Frage, die, glaube ich, auf die Methodenpräferenz zurückgeht.Vereinfachen von Active States
Im folgenden Code, wenn das div Elternelement angeklickt wird, wird die div selbst löst erweitert und auch ein Symbol Animation
var slideSection6 = document.getElementById("manualsHandbooks").addEventListener("click", function()
{
if (this.parentElement.style.height == "60px" || this.parentElement.style.height == "")
{
this.parentElement.style.height = "215px";
document.getElementById("MAHB").classList.add("active");
}
else
{
this.parentElement.style.height = "60px";
document.getElementById("MAHB").classList.remove("active");
}
}, false);
ich darüber nachdachte, wie einfach es war einfach eine Klasse hinzufügen und ändern die Status des Symbols und ich wollte experimentieren und versuchen, das andere Klickereignis nur zum Symbol hinzuzufügen, um es auf einen Klick zu animieren und das Elternelement im div ebenfalls zu aktivieren. Grundsätzlich ist das Gegenteil der obigen.
Ich dachte, es so einfach wäre, eine andere Bedingung für die if-Anweisung auf die Wirkung von
|| document.getElementId("MAHB").classList.add=("active") == true
wie das Hinzufügen Aber das funktioniert nicht und ich weiß, es ist nicht die richtige Form ist. Könnte jemand mich dazu bringen, damit ich es herausfinden könnte?
Unrelated, aber IMO Business-Logik in der Höhe eines Elements Einbettung ist eine wirklich lückenhaft Art und Weise zu tun, Dies. Der Worst-Case sollte klassenbasiert sein, besser noch, um ihn aus dem DOM herauszuhalten. –
Ist das '|| document.getElementId ("MAHB"). classList.indexOf ("active")> -1' ist was du suchst? –
Nein, weil auf dem zweiten Klick das Skript nicht ausgeführt wird –