Ich verwende Waypoints.js (http://imakewebthings.com/waypoints/api/waypoint/ - No-Framework-Abhängigkeit).CSS-Attribute ändern
Jetzt möchte ich CSS-Attribute auf Wegpunkten ändern. Was wäre der beste Weg, um meinen Code auf modulare Weise zu handhaben?
HTML:
<div class="header" id="header"></div>
<button class="menu"></button>
JS:
var waypoint = new Waypoint({
element: document.getElementById('direction-waypoint'),
handler: function(direction) {
if (direction == 'down') {
document.getElementById("header").setAttribute("style", "position: fixed;");
document.getElementById("header").style.backgroundColor = "white";
document.getElementById("menu").getElementsByTagName("li")[0].setAttribute("style", "background-color: #999;");
document.getElementById("menu").getElementsByTagName("li")[1].setAttribute("style", "background-color: #999;");
document.getElementById("menu").getElementsByTagName("li")[2].setAttribute("style", "background-color: #999;");
} else {
document.getElementById("header").setAttribute("style", "position: absolute;");
document.getElementById("menu").getElementsByTagName("li")[0].setAttribute("style", "background-color: default;");
document.getElementById("menu").getElementsByTagName("li")[1].setAttribute("style", "background-color: default;");
document.getElementById("menu").getElementsByTagName("li")[2].setAttribute("style", "background-color: default;");
}
}
});
Warum nicht stattdessen Klassen hinzufügen und entfernen? Das Setzen von statischen Stilen in JavaScript ist normalerweise eine schlechte Methode. – Ryan
Sie haben dem Stil den Wert zugewiesen. –
@Ryan Ok, dann brauche ich nicht einmal mehr eine if-Anweisung, oder? – halp