「Knockout.js/cssバインディング」の版間の差分

imported>Administrator
ページの作成:「Knockoutの'''cssバインディング'''とは、パラメーターの値に応じ、関連付けられたDOM要素のCSSクラスを、追加または削除...」
 
imported>Administrator
 
(同じ利用者による、間の6版が非表示)
1行目: 1行目:
[[Knockout]]の'''cssバインディング'''とは、パラメーターの値に応じ、関連付けられた[[DOM]]要素のCSSクラスを、追加または削除するバインディングのことである。
[[Knockout.js]]の'''cssバインディング'''とは、パラメーターの値に応じ、関連付けられた[[DOM]]要素のCSSクラスを追加または削除する[[Knockout.js/可視バインディング|可視バインディング]]のひとつである。


なお、CSSクラス単位ではなく、style属性の値を書き換えたい場合には[[Knockout/styleバインディング|styleバインディング]]を使う。
なお、CSSクラス単位ではなく、style属性の個別の値のみを書き換えたい場合には[[Knockout.js/styleバインディング|styleバインディング]]を使うとよい。


== パラメーター ==
== パラメーター ==
cssバインディングの基本的な書式は以下のとおりである。
<source lang="html5">
<div data-bind="css: { CSSクラス名: 値または式 }">...</div>
</source>
cssバインディングはカンマ区切りで複数指定もできる。
<source lang="html5">
<div data-bind="css: { CSSクラス名: 値または式, CSSクラス名: 値または式, ... }">...</div>
</source>
値または式の結果が、trueならばDOM要素(HTMLタグ)のclass属性にCSSクラスが追加され、falseならばDOM要素(HTMLタグ)のclass属性からCSSクラスが削除される。
なお、式を指定する場合の「式」とは[[JavaScript]]そのものなので関数なども使いたい放題である。


== 使用例 ==
== 使用例 ==
=== hello world ===
<source lang="html5">
<source lang="html5">
<source lang="html5">
<!DOCTYPE html>
<!DOCTYPE html>
18行目: 27行目:
   <script type="text/javascript">
   <script type="text/javascript">
     jQuery(function() {
     jQuery(function() {
       // モデル
       // ビューモデル
       var AppViewModel = function() {
       var AppViewModel = function() {
         this.valueA = ko.observable(90);
         this.valueA = ko.observable(90);
42行目: 51行目:


== 関連項目 ==
== 関連項目 ==
* [[Knockout]]
* [[Knockout.js]]
** [[Knockout.js/可視バインディング|可視バインディング]]
 
== 参考文献 ==
== 参考文献 ==
<references/>
<references/>