「Knockout.js/cssバインディング」の版間の差分
ナビゲーションに移動
検索に移動
imported>Administrator |
imported>Administrator 細 (Knockout/cssをKnockout/cssバインディングへ移動) |
(相違点なし)
|
2012年4月10日 (火) 16:12時点における版
Knockoutのcssバインディングとは、パラメーターの値に応じ、関連付けられたDOM要素のCSSクラスを、追加または削除するバインディングのことである。
なお、CSSクラス単位ではなく、style属性の値を書き換えたい場合にはstyleバインディングを使う。
パラメーター
基本的な書式は以下のとおりである。
<div data-bind="css: { CSSクラス名: パラメーター値または式 }">...</div>
パラメーターの値または式の結果が、trueならばCSSクラスが追加され、falseならばCSSクラスが削除される。 なお、式を指定する場合の「式」とはJavaScriptそのものなので関数なども使いたい放題である。
使用例
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>knockout.js - html bindding sample 1</title>
<script type="text/javascript" src="jquery-1.5.1.min.js"></script>
<script type="text/javascript" src="knockout-2.0.0.js"></script>
<script type="text/javascript">
jQuery(function() {
// モデル
var AppViewModel = function() {
this.valueA = ko.observable(90);
this.valueB = ko.observable(20);
}
// バインディング適用
ko.applyBindings(new AppViewModel());
});
</script>
<style>
.AAA { color: #0000FF; background-color: #FFFF00; }
.BBB { color: #FF0000; background-color: #00FFFF; }
</style>
</head>
<body>
<p data-bind="css: { AAA: valueA() > 70, BBB: valueA() < 30 }">Aさん</p>
<p data-bind="css: { AAA: valueB() > 70, BBB: valueB() < 30 }">Bさん</p>
</body>
</html>