amuns:blog

日々の開発での技術情報の公開
amuns:code
Amunsのホームページ
Twitter
Amunsつぶやき

jQueryでポップアップ(モーダルウィンドウ)「prettyPopin.js」

jQueryを使って、ポップアップウィンドウを作ってみました。

javascriptで「window.showModalDialog」がありますが、色々と不便な場合があります。(ただ開くだけならいいんですが)

すぐに使用できるように、実用的なサンプルを用意しました。

モジュール

 •jQuery: 1.3.2
  jQueryダウンロード
 •prettyPopin.js:1.3
  prettyPopinダウンロード

動作環境

私は以下の環境で動作確認しました。

 •IE8
 •Firefox3.0
 •Opera9.64
 •Google Chrome2.0
 •Safari4.0
  ※prettyPopinのサイトにも詳細はあります。

サンプル

まずは以下のサンプルページを見てみましょう。
今回はポップアップウィンドウの中で遷移をするように、ダミーのメール送信フォームを作成しました。(実際はメールを送信しませんので遠慮せず試してみてください)

サンプルページ1

ソース

jQueryとprettyPopin.jsを配置し、以下のように宣言します。

<script src="../js/jquery.js" type="text/javascript" charset="utf-8"></script>
<link rel="stylesheet" href="../css/prettyPopin.css" type="text/css" media="screen" charset="utf-8" />
<script src="../js/jquery.prettyPopin.js" type="text/javascript" charset="utf-8"></script>

Javascriptに以下のように書き開く動作を指定できます。(例です)

<script type="text/javascript" charset="utf-8">
	$(document).ready(function(){
		$("a[rel^='prettyPopin']").prettyPopin({
			modal : true,
			width : 400,
			height: 400,
			opacity: 0.5,
			animationSpeed: '0',
			followScroll: false,
			loader_path: '/sample/images/prettyPopin/loader.gif',
			callback: function(){
				alert('[ダミーです] メール送信が完了しました。\nこのようにウィンドウを閉じた後の処理も可能です。');
			}
		});
	});
</script>

呼び出したいリンク先を指定します。(今回はPHPファイルにしました)

<a href="test.php" rel="prettyPopin">(サンプルです)メール送信ポップアップウィンドウ</a>

サンプルのとおり、Submitボタンを押してもそのウィンドウで処理が進みます。
送信時のLoadingもおしゃれですね。

番外編

画像の大きさが決まっているので、更に大きくしたい場合や、色を変える場合には以下です。ボタンを画像にしたりできます。

サンプルページ2

<a href="test.php" rel="prettyPopin"><img src="/sample/images/samplebutton1.gif" border="0" /></a>

まずsamplebutton1.gifを作成します。(ボタン画像)
次に背景画像のpopinRight.gifを編集します。(prettyPopinに標準で入っている画像)
今回は50px×50px程度の画像にしました。

最後にprettyPopin.cssの以下の部分を

background: url(../images/prettyPopin/popinRight.gif) bottom right no-repeat;

以下に変更します。

background: url(../images/prettyPopin/popinRight.gif) repeat;

モーダルウィンドウが間単に組み込めるので、様々な場面で有効に使えそうですね。

このエントリーを含むはてなブックマークはてなブックマーク - jQueryでポップアップ(モーダルウィンドウ)「prettyPopin.js」 この記事をクリップ!Livedoorクリップ - jQueryでポップアップ(モーダルウィンドウ)「prettyPopin.js」 Yahoo!ブックマークに登録 BuzzurlにブックマークBuzzurlにブックマーク @niftyクリップに追加 このエントリをつぶやくこのWebページのtweets Share on Tumblr FC2ブックマークへ追加 newsing it! この記事をChoix! Googleブックマークに追加 Bookmark this on Delicious Digg This FriendFeedで共有

関連記事:

  1. Delphi(Indy)で添付ファイルや認証を行いメール送信
  2. DelphiでXMLを読み書きする
  3. Clibor1.1.0公開登録と、Vectorの人気投票
  4. Delphiでメッセージダイアログのフォントを指定する



まだコメントはありません。

お気軽にコメントをどうぞ

(必須)

(必須)

*