「Knockout.js/styleバインディング」を編集中
ナビゲーションに移動
検索に移動
この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 | 編集中の文章 | ||
1行目: | 1行目: | ||
− | [[Knockout | + | [[Knockout]]の'''cssバインディング'''とは、パラメーターの値に応じ、関連付けられた[[DOM]]要素のstyle属性の個々のプロパティを追加または削除する[[Knockout/可視バインディング|可視バインディング]]のひとつである。 |
− | たとえば「負の値のときに文字列を赤くする」などという処理をstyleバインディングを使うことで簡潔明瞭に書ける。なお、変更したいstyle属性のプロパティが複数あるという場合には、CCSクラス単位で追加削除できる[[Knockout | + | たとえば「負の値のときに文字列を赤くする」などという処理をstyleバインディングを使うことで簡潔明瞭に書ける。なお、変更したいstyle属性のプロパティが複数あるという場合には、CCSクラス単位で追加削除できる[[Knockout/cssバインディング|cssバインディング]]を使うとよい。 |
== パラメーター == | == パラメーター == | ||
− | + | 基本的な書式は以下のとおりである。 | |
<source lang="html5"> | <source lang="html5"> | ||
<div data-bind="style: { CSSプロパティ名: 式 }">...</div> | <div data-bind="style: { CSSプロパティ名: 式 }">...</div> | ||
</source> | </source> | ||
− | + | なお、カンマ区切りで複数指定もできる。 | |
− | |||
<source lang="html5"> | <source lang="html5"> | ||
<div data-bind="style: { CSSプロパティ名: 式, CSSプロパティ名: 式, ... }">...</div> | <div data-bind="style: { CSSプロパティ名: 式, CSSプロパティ名: 式, ... }">...</div> | ||
</source> | </source> | ||
− | + | 記述例。 | |
<source lang="html5"> | <source lang="html5"> | ||
<div data-bind="style: { color: value() < 0 ? 'red' : 'black' }">...</div> | <div data-bind="style: { color: value() < 0 ? 'red' : 'black' }">...</div> | ||
21行目: | 20行目: | ||
=== CSSプロパティ名について === | === CSSプロパティ名について === | ||
「font-weight」や「text-decoration」などの一部のCSSプロパティ名は、[[JavaScript]]の変数名の命名規則でハイフンを使えない関係で、「fontWeight」や「textDecoration」などのように[[キャメルケース]]で置き換える必要があるがあることに注意すること。 | 「font-weight」や「text-decoration」などの一部のCSSプロパティ名は、[[JavaScript]]の変数名の命名規則でハイフンを使えない関係で、「fontWeight」や「textDecoration」などのように[[キャメルケース]]で置き換える必要があるがあることに注意すること。 | ||
− | |||
=== 式について === | === 式について === | ||
式は[[三項演算子]]が一般的だが、あくまで[[JavaScript]]のコードとして認識されるため三項演算子ではなくてもよい。 | 式は[[三項演算子]]が一般的だが、あくまで[[JavaScript]]のコードとして認識されるため三項演算子ではなくてもよい。 | ||
36行目: | 34行目: | ||
<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); | ||
56行目: | 54行目: | ||
== 関連項目 == | == 関連項目 == | ||
− | * [[Knockout | + | * [[Knockout]] |
− | ** [[ | + | ** [[可視バインディング]] |
== 参考文献 == | == 参考文献 == |