<div data-win-control="WinJS.UI.ToggleSwitch">実際に表示させてみるとわかりますが、トグルスイッチはクリックするごとにスイッチがON/OFFするようなインターフェイスです。スイッチの左側には、現在の状態を示すテキストが「On」「Off」というように表示されます。
var toggle = event.target.winControl;DOMオブジェクトを取得したらその「winControl」プロパティのオブジェクトを取り出す、というのはこれまでと同じですね。ここで「checked」値を調べ、この値がtrueならばlabelOn、falseならばlabelOffのプロパティ値を取り出すようにしています。まぁ、checkedの値をそのまま利用してもいいのですが、単なる真偽値より表示されるテキストを利用したほうがわかりやすいのでそうしてあります。
var label = toggle.checked ? toggle.labelOn : toggle.labelOff;
※リストが表示されない場合
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.ToggleSwitch" id="toggle1"
data-win-options="{title:'Do It!',labelOn:'DO!', labelOff:'never', checked:true}"></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("toggle1").addEventListener("change", toggle1Change);
}));
}
}
app.oncheckpoint = function (args) {}
// ※追加した関数
function toggle1Change(event) {
var toggle = event.target.winControl;
var label = toggle.checked ? toggle.labelOn : toggle.labelOff;
var msg = document.getElementById("msg");
msg.textContent = "Toggle: " + label;
}
app.start();
})();
| << 前へ | 次へ >> |