jQuery UI の Dialog プラグインのダイアログにクラスを追加

jQuery UI の Dialog プラグインのダイアログに、クラスを追加する方法。クラス追加には、dialogClass オプションを使う。dialogClass オプションの値に、追加したいクラス名を指定する。

実装例(サンプル)

「jquery-ui-dialog-alert」というクラスを追加した。「×」アイコンをクリックすると閉じる。ドラッグ移動できる。サイズを変更できる。

実装例(サンプル)について

「jquery-ui-dialog-alert」というクラスを追加し、枠線の色などを変更した。

実装例(サンプル)の動作について

  • 「ダイアログを開く」ボタンを押すと、ブラウザの中央に、ダイアログが出現する。
  • ダイアログ内の「×」アイコンをクリックすると、ダイアログを閉じる。
  • ダイアログ内のタイトルをドラッグしながら、ダイアログを移動できる。
  • ダイアログのサイズを変更できる。

実装例(サンプル)が出力するHTML

下のように、一番外側の div 要素に、「jquery-ui-dialog-alert」というクラス名を追加する。

<div aria-labelledby="ui-dialog-title-jquery-ui-dialog" role="dialog" tabindex="-1" class="ui-dialog ui-widget ui-widget-content ui-corner-all jquery-ui-dialog-alert ui-draggable ui-resizable" style="display: block; z-index: 1008; outline: 0px none; position: absolute; height: auto; width: 300px; top: 371px; left: 478px;">
    <div class="ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix">
        <span id="ui-dialog-title-jquery-ui-dialog" class="ui-dialog-title">ダイアログ</span>
        <a role="button" class="ui-dialog-titlebar-close ui-corner-all" href="#"><span class="ui-icon ui-icon-closethick">close</span></a>
    </div>
    <div style="width: auto; min-height: 103.267px; height: auto;" class="ui-dialog-content ui-widget-content" id="jquery-ui-dialog">
        <p><font style="color: red;">ドラッグ移動できない。</font>「×」アイコンをクリックすると閉じる。ダイアログのサイズを変更できる。</p>
    </div>
    <div class="ui-resizable-handle ui-resizable-n"></div>
    <div class="ui-resizable-handle ui-resizable-e"></div>
    <div class="ui-resizable-handle ui-resizable-s"></div>
    <div class="ui-resizable-handle ui-resizable-w"></div>
    <div style="z-index: 1001;" class="ui-resizable-handle ui-resizable-se ui-icon ui-icon-gripsmall-diagonal-se ui-icon-grip-diagonal-se"></div>
    <div style="z-index: 1002;" class="ui-resizable-handle ui-resizable-sw"></div>
    <div style="z-index: 1003;" class="ui-resizable-handle ui-resizable-ne"></div>
    <div style="z-index: 1004;" class="ui-resizable-handle ui-resizable-nw"></div>
</div>

実装例(サンプル)のソースコード

読み込み

パスは、それぞれ、アップロードした場所を指定する。

まとめて読み込む場合
<link rel="stylesheet" href="themes/base/jquery.ui.all.css" />
<script type="text/javascript" src="jquery-1.4.2.js"></script>
<script type="text/javascript" src="ui/jquery-ui-1.8.12.custom.min.js"></script>
個別に読み込む場合
<link rel="stylesheet" href="themes/base/jquery.ui.all.css" />
<script type="text/javascript" src="jquery-1.4.2.js"></script>
<script type="text/javascript" src="ui/jquery.ui.core.js"></script>
<script type="text/javascript" src="ui/jquery.ui.position.js"></script>
<script type="text/javascript" src="ui/jquery.ui.widget.js"></script>
<script type="text/javascript" src="ui/jquery.ui.mouse.js"></script>
<script type="text/javascript" src="ui/jquery.ui.draggable.js"></script>
<script type="text/javascript" src="ui/jquery.ui.resizable.js"></script>
<script type="text/javascript" src="ui/jquery.ui.dialog.js"></script>

JavaScript

<script>
<!--
jQuery( function() {
    jQuery( '#jquery-ui-dialog' ) . dialog( {
        autoOpen: false,
        dialogClass: 'jquery-ui-dialog-alert',
    } );
    jQuery( '#jquery-ui-dialog-opener' ) . click( function() {
        jQuery( '#jquery-ui-dialog' ) . dialog( 'open' );
        return false;
    } );
} );
// -->
</script>

CSS

<style>
<!--
.jquery-ui-dialog-alert {
    border-color: red;
    background-color: pink;
}
.jquery-ui-dialog-alert div.ui-dialog-titlebar {
    border-color: red;
}
-->
</style>

HTML

<div id="jquery-ui-dialog" title="ダイアログ">
    <p><font style="color: red;">「jquery-ui-dialog-alert」というクラスを追加した。</font>「×」アイコンをクリックすると閉じる。ドラッグ移動できる。サイズを変更できる。</p>
</div>
<button id="jquery-ui-dialog-opener">ダイアログを開く</button>

スポンサード リンク

カテゴリー: Dialog, JavaScript, jQuery, jQuery UI パーマリンク