6 つの dojox.mobile.IconMenuItems を持つ dojox.mobile.IconMenu があります。IconMenuItems を押すと、ボタンが押し込まれます。適切なタイミングでボタンの画像を切り替えるだけで、この動作を実現できます。
ここで発生する問題は次のとおりです。
デスクトップ (Chrome) の場合: ボタンをクリックするだけでビューが急速に変化し、押し込まれた新しいグラフィックが見えなくなります。ボタンを約 0.5 秒間押し続けてから、ボタンに新しい画像が表示されるまで離す必要があります。
Android/iOS デバイス (テスト済み: Chrome、Firefox、Opera、Skyfire、Board Browser、Dolphin、Safari): ボタンは画像を変更しますが、グラフィックの変更が遅すぎるため変更を確認できません。
コードはこちら(html)
<ul data-dojo-type="dojox.mobile.IconMenu" id="portalMenu" style="border: none; outline: none; background-image: url('../deliverables_800x480/backgrounds/img_bg_portal.gif'); position: absolute; z-index: 900; background-repeat: no-repeat; background-size: cover; height: 100%; width: 100%; top: 26px;">
<li label="IconMenuItem" data-dojo-type="dojox.mobile.IconMenuItem" id="portalButton1" icon="../deliverables_800x480/buttons/portal/btn_portal_freetext_big_normal.gif" style="border-top-color: transparent; border-right-color: transparent; border-bottom-color: transparent; border-left-color: transparent; line-height: 0px; text-align: center;" moveTo="null" onmousedown="toggleImg1()" onmousdown="toggleView1()"></li>
[その他のボタンはこちら]
ここに私が呼び出す関数があります(javascript):
onmousedown="toggleImg1()
// press button1
// press button1
function toggleImg1(){
portalButton1.set("icon", "../deliverables_800x480/buttons/portal/btn_portal_freetext_big_armed.gif");
}
function toggleView1() {
portalButton1.set("moveTo", "messaging");
portalButton1.set("selected", true);
portalButton1.set("icon", "../deliverables_800x480/buttons/portal/btn_portal_freetext_big_normal.gif");
}