我該如何執行此操作? 有何建議?easeljs - 模態對話框?
2
A
回答
0
我在Flash中實現它的方式是將透明圖像放在整個畫布的大小上,然後放在上面的對話框中。虛擬圖像將捕獲並忽略所有鼠標點擊,而不會讓用戶與對話框以外的任何其他對象交互。
應該與EaselJS一起使用。你也可以做一些東西,比如讓啞圖像變成半透明的灰色,這樣可以讓模式對話框外的所有東西變暗。
如果你還需要在盒子外停止所有活動,我認爲最簡單的方法是使用Ticker.setPause()函數停止發送tick()事件。
注意:這僅在畫布內是模態的,並不影響瀏覽器或網頁的其餘部分。
0
這是我如何easeljs做到了:
var stage = new createjs.Stage('canvas');
stage.width = $('#canvas').width();
stage.height = $('#canvas').height();
// warning box/modal dialog for user infos
var warnbox = new createjs.Shape();
warnbox.graphics.beginFill('#000');
warnbox.alpha = 0.85;
warnbox.graphics.drawRect(0, 0, stage.width, stage.height);
warnbox.graphics.endFill();
stage.addChild(warnbox);
warnbox.visible = false;
// confirm button for modal dialog box
var buttonok = new createjs.Shape();
buttonok.graphics.beginFill('#428BCA');
buttonok.graphics.setStrokeStyle(2,'round').beginStroke('#357EBD');
buttonok.graphics.drawRoundRect(0, 0, 170, 50, 5);
buttonok.x = stage.width/2-85;
buttonok.y = stage.height/2+70;
buttonok.cursor = "pointer";
stage.addChild(buttonok);
buttonok.visible = false;
var label_info = new createjs.Text("Your message here", "30px Arial", "#F0F0F0");
label_info.x = stage.width/2;
label_info.y = stage.height/2-110;
label_info.textAlign = 'center';
label_info.lineWidth = 800;
label_info.lineHeight = 50;
stage.addChild(label_info);
label_info.visible = false;
var label_ok = new createjs.Text("Continue", "25px Arial", "#F0F0F0");
label_ok.x = buttonok.x+85;
label_ok.y = buttonok.y+13;
label_ok.textAlign = 'center';
label_ok.lineWidth = 100;
label_ok.lineHeight = 50;
label_ok.cursor = "pointer";
stage.addChild(label_ok);
label_ok.visible = false;
function dialogbox(msg) {
warnbox.visible = label_info.visible = buttonok.visible = label_ok.visible = true;
// bring warnbox to front
stage.setChildIndex(warnbox, stage.getNumChildren()-1);
stage.setChildIndex(label_info, stage.getNumChildren()-1);
stage.setChildIndex(buttonok, stage.getNumChildren()-1);
stage.setChildIndex(label_ok, stage.getNumChildren()-1);
label_info.text = msg;
}
buttonok.on("click", function(evt) {
warnbox.visible = label_info.visible = buttonok.visible = label_ok.visible = false;
resetScene();
});
label_ok.on("click", function(evt) {
warnbox.visible = label_info.visible = buttonok.visible = label_ok.visible = false;
resetScene();
});
// trigger
dialogbox("Congratulations, this is your modal box!");
希望幫助:)
相關問題
- 1. 模態對話框
- 2. 模態對話框
- 3. 從另一個模態對話框引導模態對話框
- 4. 對齊模態對話框
- 5. SWT模態對話框非模態
- 6. 模態對話框變爲非模態
- 7. 的onClick模態對話框
- 8. 模態對話框。 - 混亂
- 9. 模態對話框存在:
- 10. jQuery多模態對話框
- 11. 單例模態對話框
- 12. 非模態JFace對話框?
- 13. jquery模態對話框onclick?
- 14. 模態對話框選項
- 15. Gtk,模態對話框
- 16. AsyncFileUpload在模態對話框
- 17. 內模態對話框
- 18. 內模態對話框
- 19. 模態對話框IlvFileBrowser
- 20. 從模態對話框
- 21. Angular2模態對話框
- 22. jQuery-bootgrid模態對話框
- 23. JavaFX 8處理非模態對話框和模態對話框的方法
- 24. 如何在非模態對話框上正確實現模態對話框?
- 25. MFC中模態對話框與非模態對話框之間的區別
- 26. 在另一個模態JFace對話框上打開模態JFace對話框
- 27. angularjs模態模式對話框關閉
- 28. ToolStripButton對錶示模態對話框少
- 29. 自定義對話框(模態對話框)應在nativescript angular2
- 30. 在模態對話框頂部顯示進度條對話框