<div data-win-control="WinJS.UI.Rating"></div>これで表示されるのは★が5つ並んだ状態のものです。表示に関する設定などを行うには、data-win-options属性を用意してやります。この属性は、既に何度も登場していますが、オプション設定を連想配列の形でまとめたものを値に指定します。主なオプションとしては以下のようなものがあります。
var ctrl = event.target.winControlevent.targetでイベントの発生したDOMオブジェクトを取得し、そのwinControlを変数に取り出しています。後は、テキストを表示するタグをgetElementByIdで取得し、winControlのuserRatingの値を使ってtextContentを設定するだけです。
var msg = document.getElementById("msg");
msg.textContent = "Rate: " + ctrl.userRating;
※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
※HTMLの<body>タグ
<body>
<h1 id="title">Sample Page</h1>
<p id="msg">this is list sample page.</p>
<div data-win-control="WinJS.UI.Rating" id="rating1"
data-win-options="{maxRating:7, averageRating:3.5}"></div>
</body>
※JavaScriptのスクリプト
(function () {
"use strict";
WinJS.Binding.optimizeBindingReferences = true;
var app = WinJS.Application;
var activation = Windows.ApplicationModel.Activation;
app.onactivated = function (args) {
if (args.detail.kind === activation.ActivationKind.launch) {
if (args.detail.previousExecutionState !== activation.
ApplicationExecutionState.terminated) {} else {}
args.setPromise(WinJS.UI.processAll().then(function completed() {
document.getElementById("rating1").addEventListener("change", rating1Change);
}));
}
}
app.oncheckpoint = function (args) {}
// ※追加した関数
function rating1Change(event) {
var ctrl = event.target.winControl
var msg = document.getElementById("msg");
msg.textContent = "Rate: " + ctrl.userRating;
}
app.start();
})();
| << 前へ | 次へ >> |