【ハウツー】
デフォルトではシンプルダイアログは瞬時に表示/消されます。シンプルダイアログではオプションにエフェクトを設定することができます。エフェクトはYAHOO.widget.SimpleDialog()の3番目のオプションで指定します。オプションにeffectを指定し、適用するエフェクトと時間を指定します。適用可能なエフェクトはフェードイン/フェードアウトさせるものになります。サンプル15ではダイアログの表示、非表示の際に1秒間でフェード処理が完了するようになっています。フェードの時間はdurationで指定できます。指定できる値は秒数になります。
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>YUIシンプルダイアログサンプル</title>
<link rel="stylesheet" type="text/css" href="css/container.css">
<script type="text/javascript" src="js/yahoo-dom-event.js"></script>
<script type="text/javascript" src="js/animation.js"></script>
<script type="text/javascript" src="js/dragdrop.js"></script>
<script type="text/javascript" src="js/container.js"></script>
<script type="text/javascript"><!--
window.onload = function() {
var dlgObj = new YAHOO.widget.SimpleDialog("dlg", {
effect : { effect:YAHOO.widget.ContainerEffect.FADE, duration : 1 },
width : "320px",
height : "150px",
fixedcenter : true,
draggable : false,
modal : true,
close: false
});
var dlgButton = [
{ text : "保存", handler : saveButton, isDefault:true },
{ text : "保存しない", handler : noSaveButton },
{ text : "キャンセル", handler : cancelButton }
];
dlgObj.cfg.queueProperty("buttons", dlgButton);
dlgObj.setHeader("確認");
dlgObj.setBody("このまま続けますか?");
dlgObj.cfg.setProperty("icon",YAHOO.widget.SimpleDialog.ICON_HELP);
dlgObj.render(document.body);
}
function saveButton(){
alert("保存します");
this.hide();
}
function noSaveButton(){
alert("保存しません");
this.hide();
}
function cancelButton(){
alert("キャンセルされました");
this.hide();
}
// --></script>
</head>
<body>
<h1>YUIシンプルダイアログサンプル(エフェクト)</h1>
</body>
</html>
シンプルダイアログが表示されて、一定時間経過したら非表示にしたい場合があります。シンプルダイアログを非表示にするにはhide()メソッドを使います。setTimeout()を使って、指定した時間後にhide()メソッドを呼び出すことで一定時間経過後にシンプルダイアログを非表示にすることができます(サンプル16)。
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>YUIシンプルダイアログサンプル</title>
<link rel="stylesheet" type="text/css" href="css/container.css">
<script type="text/javascript" src="js/yahoo-dom-event.js"></script>
<script type="text/javascript" src="js/dragdrop.js"></script>
<script type="text/javascript" src="js/container.js"></script>
<script type="text/javascript"><!--
var dlgObj;
window.onload = function() {
dlgObj = new YAHOO.widget.SimpleDialog("dlg");
dlgObj.setBody("このページにはプログラマ向けの内容が含まれています");
dlgObj.render(document.body);
setTimeout("dlgObj.hide()", 5000);
}
// --></script>
</head>
<body>
<h1>YUIシンプルダイアログサンプル(5秒で消す)</h1>
</body>
</html>
Yahoo UI Libraryの中でもシンプルダイアログは機能の割に手軽に使える便利なライブラリです。Ajaxを利用するコンテンツでは便利に使えるのではないかと思います。
| 【レポート】マカフィーの世界の専門家の意識調査「サイバー防衛報告書」とセキュリティソリューション [21:15 5/25] |
| アップル、Aperture 3.2.4を公開 - バグ修正、安定性向上など [20:51 5/25] |
| 【レポート】GTC 2012 - VGXでエンタープライズ環境でのGPU需要開拓を狙うNVIDIA [20:07 5/25] |
| デル、期間限定キャンペーンに特価アイテム追加、アップグレード無料も継続 [19:41 5/25] |
| 上海問屋、iPhoneとほぼ同じ薄さのバッテリ内蔵ヘッドホンアンプ [19:05 5/25] |
|
[NHK]オウム事件を初ドラマ化 教団の内部資料や証言を基に制作 [10:00 5/26] エンタメ |
|
[プリキュア]人気の秘密は王道と革新性 [09:00 5/26] ホビー |
|
[AKB48総選挙]次世代は「チーム4」に期待 注目メンバー紹介 [09:00 5/26] ホビー |
|
【レポート】「ザ・ビートル」発売直前! 歴史的名車・元祖ビートルの伝説をひも解く [09:00 5/26] ライフ |
|
【レポート】婚活パーティーはどんな感じなの? 潜入してみた!! [09:00 5/26] エンタメ |