私はWaypoints.js(http://imakewebthings.com/waypoints/api/waypoint/ - フレームワーク依存関係なし)を使用しています。CSS属性を変更する
ウェイポイントのCSS属性を変更したいと思います。モジュラー形式でコードを処理する最善の方法は何でしょうか?
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;");
}
}
});
代わりにクラスを追加したり削除したりするのはなぜですか? JavaScriptで静的スタイルを設定することは、通常悪い習慣です。 – Ryan
値をスタイルに割り当てることを指定しました。 –
@ Ryan Ok、もうif文はもう必要ありませんよね? – halp