ホームページ ウェブフロントエンド jsチュートリアル jQuery UI Dialog は使いやすいポップアップ ダイアログ ボックスの実装 code_jquery を作成します

jQuery UI Dialog は使いやすいポップアップ ダイアログ ボックスの実装 code_jquery を作成します

May 16, 2016 pm 05:54 PM

主なパラメータ
jQuery UI ダイアログの一般的に使用されるパラメータは次のとおりです:

1. autoOpen: デフォルトは true、つまりダイアログ メソッドの作成時にダイアログ ボックスが表示されます
2.デフォルトでは、表示されるボタンを設定するために使用され、JSON または配列形式で指定できます:
{"OK": function(){}, "Cancel": function(){}}
[{text : "OK"、クリック: function(){} },{text:"Cancel",click:function(){}}]
3. モーダル: ダイアログ ボックスがモーダルであるかどうかのデフォルト。 true、ページの他の要素を覆うマスクレイヤーが作成されます。
4. title: タイトル
5. ドラッグ可能かどうか、デフォルトは true
6.サイズ変更可能、デフォルトは true
7. width: 幅、デフォルトは 300
8. height: 高さ、デフォルトは "auto"
その他のあまり使用されないパラメータ:

1. true、esc キーを押してダイアログ ボックスを閉じます
2. show: ダイアログ ボックスを開くアニメーション効果
3. Hide: ダイアログ ボックスを閉じるアニメーション効果
4. Position: ダイアログ ボックスを閉じる位置ダイアログ ボックスが表示されます。デフォルトは「center」で、文字列または配列に設定できます:
'center', ' left', 'right', 'top', 'bottom'
['right ','top']、上記の文字列の組み合わせ (x, y)
[350,100]、絶対数値 (x,y)
5. minWidth: デフォルト 150、最小幅
6. minHeight : デフォルトは 150、最小高さ
使用法:

コードをコピーします コードは次のとおりです:

$("...").dialog({
title: "タイトル",
//. ..その他のパラメータ
}); Method
jQuery UI Dialog には、ダイアログ ボックスを制御するためのメソッドがいくつかあります。一般的に使用されるメソッドのみがリストされています。

open : ダイアログ ボックスを開きます。
close : ダイアログ ボックスを閉じます (ダイアログ ボックスは閉じられません)。 close によって破棄され、引き続き使用できます)
destroy: ダイアログ ボックスを破棄します。
オプション: パラメーターを設定します。つまり、前にリストされたパラメーターです。
使用 ダイアログ メソッドのパラメーターとして使用される場合:



コードをコピー コードは次のとおりです: var dlg = $ ("...") .dialog({
//...各種パラメータ
});
dlg.dialog("option", { title: "title" }); // パラメータを設定します
dlg.dialog ("open"); // open メソッドを使用してダイアログ ボックスを開きます


メイン イベント
jQuery UI ダイアログには、ダイアログ ボックスの開閉などのいくつかの追加の処理を行うイベントが用意されています。 :

open: 開くとき
close: 閉じるとき
create: 作成するとき
resize: サイズ変更するとき
drag: ドラッグするとき
使用方法はパラメーターの使用法 (開くときに閉じるボタンを非表示にするなど):



コードをコピーします コードは次のとおりです: $("...").dialog({
//...各種パラメータ
open: function(event, ui) {
$(".ui-dialog -titlebar -close", $(this).parent()).hide();
}
});


特定の用途
以下は、一般的に使用されるプロンプト情報の一部をカプセル化しています。 、これ以上の説明はありません:



コードをコピー コードは次のとおりです:

jQuery.extend(jQuery, {
// jQuery UI アラート ポップアップ プロンプト
jqalert: function(text, title, fn) {
var html =
'< ;div class="ダイアログ" id="ダイアログメッセージ">'
'

'
' ' テキスト
'

';
return $(html) .dialog ({
//autoOpen: false,
resizable: false,
modal: true,
show: {
effect: 'fade',
duration: 300
} ,
title: title || "プロンプトメッセージ",
buttons: {
"OK": function() {
var dlg = $(this).dialog("close") ;
fn && fn.call(dlg);
}
}
});
},
// jQuery UI アラートが表示され、一定の時間が経過すると自動的に閉じます。 🎜>jqtimeralert : function(text, title, fn, timerMax) {
var dd = $(
'
'
' < ;p> '
' ' 🎜>'

'
'
');
dd.dialog({
//) autoOpen: false 、
resizable: false、
modal: true、
show: {
effect: 'fade'、
duration: 300
}、
open: function (e, ui) {
var me = this,
dlg = $(this),
btn = dlg.parent().find(".ui-button-text").text(" OK(" me.timerMax ")");
--me.timerMax;
me.timer = window.setInterval(function() {
btn.text("OK(" me.timerMax " )") ;
if (me.timerMax-- dlg.dialog("close");
fn && fn.call(dlg);
window.clearInterval (me.timer); // 時間切れになったらタイマーをクリア
}
},
title: title || "プロンプト メッセージ",
buttons: {
" OK": function() {
var dlg = $(this).dialog("close");
fn && fn.call(dlg);
window.clearInterval(this. timer); // タイマー
}
},
close: function() {
window.clearInterval(this.timer); // タイマー
}
}) ;
},
// jQuery UI verify は確認プロンプトを表示します
jqconfirm: function(text, title, fn1, fn2) {
var html =
'
'
'

'
' ' テキスト
'

';
return $(html).dialog({
//autoOpen : false,
resizable: false,
modal: true,
show: {
effect: 'fade',
duration: 300
},
タイトル: タイトル | "プロンプト メッセージ"、
ボタン: {
"OK": function() {
var dlg = $(this).dialog("close"); fn1.call( dlg, true);
},
"キャンセル": function() {
var dlg = $(this).dialog("close");
fn2 && fn2( dlg, false) ;
}
}
});
},
// jQuery UI が iframe ウィンドウをポップアップします
jqopen: function(url, options) {
var html =
'
'
' '
'
'; return $( html).dialog( $.extend({
modal: true,
closeOnEscape: false,
ドラッグ可能: false,
サイズ変更可能: false,
close: function(event, ui) {
$( this).dialog("destroy"); //
}
}, options));
},
// jQuery UI 確認プロンプト
確認: function(evt , text, title) {
evt = $.event.fix(evt);
var me = evt.target;
if (me.confirmResult) {
me. confirmResult = false;
return true;
}
jQuery.jqconfirm(text, title, function(e) {
me.confirmResult = true;
if (e) {
if (me.href && $.trim(me.href).indexOf("javascript:") == 0) {
$.globalEval(me.href);
me.confirmResult = false; >return;
}
var t = me.type && me.type.toLowerCase();
if (t == "画像" || t == "送信" || t = = "ボタン")) {
__doPostBack(me.name, "");
me.confirmResult = false;
return;
}
if (me. click) me.click (evt);
}
});


上記のコードには別の問題があります。問題は、ポップアップ ボックスが閉じるたびに破棄されないことです。

解決策は次のとおりです (具体的なデモはありません):

close イベントで破棄します
アラート/確認プロバイダーのダイアログ インスタンスを静的に設定します
外部から呼び出す場合は単一を使用しますダイアログ インスタンス
デモ プログラム
HTML コードは次のとおりです:



コードをコピー


コードは次のとおりです:







🎜 >
対応する js コードは次のとおりです:


$(function () {
$("#button1").click(function() {
$.jqalert("これは通常のプロンプトです!");
});
$("#button2 ").click(function() {
$.jqtimeralert("これは自動終了プロンプトです!", "自動終了プロンプト",
function() {
$.jqalert("時間切れです" );
})
});
$("#button3").click(function() {
$.jqconfirm("本当にこれを実行しますか?", "確認プロンプト ",
function() {
$.jqalert("OK をクリック");
},
function() {
$ .jqalert("クリックキャンセル");
});
$("#button4").click(e) {
if ($.confirm(e, "本当にこれを実行しますか?"))
$.jqalert("OK をクリック")
});
$("#button5").click(function(e) {
$.jqopen("http:// lwme.cnblogs.com/", { タイトル: "私のブログ", 幅: 700, 高さ: 500 });
});


サーバーの場合 エンドコントロールで確認を使用するには、次のメソッドが必要になる場合があります:



コードをコピー
コードは次のとおりです: $( "#button4").click(function(e) { if (!$.confirm(e, "よろしいですか?これをするの?」 ")) {
e.stopPropagation();
return false;
}
});


また、jQuery UI で使用されるフォントはこれにより、通常の使用中にダイアログが大きくなる可能性があります。さらに次のスタイルを設定できます:



コードをコピー
コード以下のように: body { font-size: 12px; } //デフォルトのフォント サイズ/*jQuery UI のフェイク*/
.ui-widget { font-size: 1em; }
.ui-dialog .ui-dialog-buttonpane {padding-top: .1em; padding-bottom: .1em; }


このように、ダイアログのサイズは次のようになります。
asp.net ajax の Telerik RadControls での
の使用は、主に Telerik RadButton コントロール用であり、次の 2 つの関数を定義します:




コードをコピー
コードは次のとおりです: // RadButton の確認コールバックに使用され、ボタンのクリックをトリガーします。 function radcallback(s) {
return Function.createDelegate (s , function(argument) {
if (argument) {
this.click();
}
});
}
// 確認プロンプトを追加するために使用されます。 RadButton の場合
function radconfirm2(textOrFn, title, callback) {
return function(s, e) {
$.jqconfirm(textOrFn, title, callback || radcallback(s)); /radconfirm( textOrFn, callback, 280, 50, null, title);
e.set_cancel(true)
}


;これ:



コードをコピー

コードは次のとおりです: 終了 詳細については、jQuery UI ダイアログの公式デモを参照してください:
http ://jqueryui.com/demos/dialog
スクリプト ホームのダウンロード アドレス
http://www.jb51.net/jiaoben/15574.html

この記事のデモをダウンロードしますlwme-jquery-ui-dialog-demo。 7z
著者: 囧月出典: http://lwme.cnblogs.com/
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

独自のJavaScriptライブラリを作成および公開するにはどうすればよいですか? 独自のJavaScriptライブラリを作成および公開するにはどうすればよいですか? Mar 18, 2025 pm 03:12 PM

記事では、JavaScriptライブラリの作成、公開、および維持について説明し、計画、開発、テスト、ドキュメント、およびプロモーション戦略に焦点を当てています。

ブラウザでのパフォーマンスのためにJavaScriptコードを最適化するにはどうすればよいですか? ブラウザでのパフォーマンスのためにJavaScriptコードを最適化するにはどうすればよいですか? Mar 18, 2025 pm 03:14 PM

この記事では、ブラウザでJavaScriptのパフォーマンスを最適化するための戦略について説明し、実行時間の短縮、ページの負荷速度への影響を最小限に抑えることに焦点を当てています。

フロントエンドのサーマルペーパーレシートのために文字化けしたコード印刷に遭遇した場合はどうすればよいですか? フロントエンドのサーマルペーパーレシートのために文字化けしたコード印刷に遭遇した場合はどうすればよいですか? Apr 04, 2025 pm 02:42 PM

フロントエンドのサーマルペーパーチケット印刷のためのよくある質問とソリューションフロントエンド開発におけるチケット印刷は、一般的な要件です。しかし、多くの開発者が実装しています...

ブラウザ開発者ツールを使用してJavaScriptコードを効果的にデバッグするにはどうすればよいですか? ブラウザ開発者ツールを使用してJavaScriptコードを効果的にデバッグするにはどうすればよいですか? Mar 18, 2025 pm 03:16 PM

この記事では、ブラウザ開発者ツールを使用した効果的なJavaScriptデバッグについて説明し、ブレークポイントの設定、コンソールの使用、パフォーマンスの分析に焦点を当てています。

誰がより多くのPythonまたはJavaScriptを支払われますか? 誰がより多くのPythonまたはJavaScriptを支払われますか? Apr 04, 2025 am 12:09 AM

スキルや業界のニーズに応じて、PythonおよびJavaScript開発者には絶対的な給与はありません。 1. Pythonは、データサイエンスと機械学習でさらに支払われる場合があります。 2。JavaScriptは、フロントエンドとフルスタックの開発に大きな需要があり、その給与もかなりです。 3。影響要因には、経験、地理的位置、会社の規模、特定のスキルが含まれます。

ソースマップを使用して、マイナイドJavaScriptコードをデバッグするにはどうすればよいですか? ソースマップを使用して、マイナイドJavaScriptコードをデバッグするにはどうすればよいですか? Mar 18, 2025 pm 03:17 PM

この記事では、ソースマップを使用して、元のコードにマッピングすることにより、Minified JavaScriptをデバッグする方法について説明します。ソースマップの有効化、ブレークポイントの設定、Chrome DevtoolsやWebpackなどのツールの使用について説明します。

Console.log出力の違い結果:なぜ2つの呼び出しが異なるのですか? Console.log出力の違い結果:なぜ2つの呼び出しが異なるのですか? Apr 04, 2025 pm 05:12 PM

Console.log出力の違いの根本原因に関する詳細な議論。この記事では、Console.log関数の出力結果の違いをコードの一部で分析し、その背後にある理由を説明します。 �...

初心者向けのタイプスクリプト、パート2:基本データ型 初心者向けのタイプスクリプト、パート2:基本データ型 Mar 19, 2025 am 09:10 AM

エントリーレベルのタイプスクリプトチュートリアルをマスターしたら、TypeScriptをサポートするIDEで独自のコードを作成し、JavaScriptにコンパイルできるはずです。このチュートリアルは、TypeScriptのさまざまなデータ型に飛び込みます。 JavaScriptには、NULL、未定義、ブール値、数字、文字列、シンボル(ES6によって導入)とオブジェクトの7つのデータ型があります。 TypeScriptはこれに基づいてより多くのタイプを定義し、このチュートリアルではすべてを詳細に説明します。 ヌルデータ型 JavaScriptのように、Typescriptのnull

See all articles