CoolWebWindow

自作したjQueryプラグインを無料配布しているサイトです。
jQueryプラグインは商用利用可能、MITライセンス表示、カスタマイズ無制限です。

無料jQueryプラグイン [モーダルウィンドウ(固定バージョン)]

単体バージョン:jquery.modal_fix.js

スマートフォンに対応した、ポップアップウィンドウが固定したタイプのモーダルウィンドウです。かなりシンプルなタイプですので、初心者の方にも設置が簡単です。

HTML

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width">
<link href="css/common.css" rel="stylesheet" type="text/css">
<link href="css/style.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/jquery.modal_fix.js"></script>
<link rel="stylesheet" href="css/style.css.css" type="text/css">
<title>[DEMO]モーダルウィンドウ(固定バージョン)</title>
<script type="text/javascript">
</script>
</head>
<body>
<a data-target="con1" class="modal-open">リンク1</a>
<a data-target="con2" class="modal-open">リンク2</a>
<a data-target="con3" class="modal-open">リンク3</a>
<a data-target="con4" class="modal-open">リンク4</a>
<a data-target="con5" class="modal-open">リンク5</a>
<div id="con1" class="modal-content">
	<p>リンク1の内容です。</p>
	<p><a class="modal-close">閉じる</a></p>
</div>
<div id="con2" class="modal-content">
	<p>リンク2の内容です。リンク2の内容です。リンク2の内容です。リンク2の内容です。リンク2の内容です。リンク2の内容です。リンク2の内容です。リンク2の内容です。リンク2の内容です。リンク2の内容です。リンク2の内容です。</p>
	<p><a class="modal-close">閉じる</a></p>
</div>
<div id="con3" class="modal-content">
	<p>リンク3の内容です。リンク3の内容です。リンク3の内容です。リンク3の内容です。リンク3の内容です。リンク3の内容です。リンク3の内容です。リンク3の内容です。リンク3の内容です。リンク3の内容です。リンク3の内容です。リンク3の内容です。リンク3の内容です。リンク3の内容です。リンク3の内容です。リンク3の内容です。</p>
	<p><a class="modal-close">閉じる</a></p>
</div>
<div id="con4" class="modal-content">
	<p>リンク4の内容です。リンク4の内容です。</p>
	<p><a class="modal-close">閉じる</a></p>
</div>
<div id="con5" class="modal-content">
	<p>リンク5の内容です。リンク5の内容です。リンク5の内容です。リンク5の内容です。リンク5の内容です。リンク5の内容です。リンク5の内容です。リンク5の内容です。リンク5の内容です。リンク5の内容です。リンク5の内容です。</p>
	<p><a class="modal-close">閉じる</a></p>
</div>
<p>
スクロールしてみてください。モーダルウィンドウは固定されているのがわかるかと思います。<br>
↓<br>
(略)<br>
↓<br>
終わり。
</p>
</body>
</html>

CSS

.modal-content {
	position:fixed;
	display:none;
	z-index:2;
	width:50%;
	margin:0;
	padding:10px 20px;
	border:2px solid #aaa;
	background:#fff;
}

.modal-content p {
	margin:0;
	padding:0;
}

.modal-overlay {
	z-index:1;
	display:none;
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:120%;
	background-color:rgba(0,0,0,0.75);
}

.modal-open {
	color:#00f;
	text-decoration:underline;
}

.modal-open:hover {
	cursor:pointer;
	color:#f00;
}

.modal-close {
	color:#00f;
	text-decoration:underline;
}

.modal-close:hover {
	cursor:pointer;
	color:#f00;
}

リンクしたいテキストをアンカーで囲み(別にaタグでなくてもよいのですが、そのほうが意味的には通っているので)、「data-target」という新しい属性を作ります。この属性に任意の文字列を与えます。サンプルコードで言えば、「con1」とか「con2」とかです。

モーダルウィンドウで表示したいコンテンツをdiv要素で囲み、div要素に先ほど指定したdata-targetの値(文字列)をclass名にして指定します。

モーダルウィンドウに閉じるボタン機能を設置しています。ある要素に「modal-close」というクラス名を設定すれば、それをクリックするとモーダルウィンドウが閉じるようになります。サンプルではリンクとわかりやすいようにアンカーを設定していますが、特にアンカーにする必要はありません。

更新履歴

2018-01-07
ver1.0公開 
ページのトップへ戻る