jqueryのプラグインでuiの次に人気ができているjQuery TOOLSを使って画像を拡大する方法を紹介します。
jQuery TOOLSの公式サイト
jqueryがたった一行でできる方法
ちょっとだけ画像を拡大させて、キャプチャーをつけたいときにつかえます。


英語で表示すると、なんとなくかっこよく見えてしまうのは自分だけでしょうか…
html
1行目、2行目が画像の表示
それ以降は
<div class="simple_overlay" id="mies1"></div>
が左の写真の詳細部分
<div class="simple_overlay" id="mies2"></div>
が右の写真の詳細部分
<img src="小さい画像1のURL" rel="#mies1"/> <img src="小さい画像2のURL" rel="#mies2"/> <div class="simple_overlay" id="mies1"> <img src="拡大させた画像1のURL" /> <div class="details"> <h3>画像名</h3> <h4>画像の要約</h4> <p>画像の詳細</p> </div><!--details--> </div><!--mies1--> <div class="simple_overlay" id="mies2"> <img src="拡大させた画像2のURL" /> <div class="details"> <h3>画像名</h3> <h4>画像の要約</h4> <p>画像の詳細</p> </div><!--details--> </div><!--mies2-->
jquery
<script src="http://cdn.jquerytools.org/1.2.5/jquery.tools.min.js">
</script>
<script type="text/javascript">
$("img[rel]").overlay();
</script>
<script src="http://cdn.jquerytools.org/1.2.5/jquery.tools.min.js"> </script>
でCDNのjqueryTOOLSのプラグイン+jqueryを読み込んでいます。
$("img[rel]").overlay();
jqueryのプログラムはたった一行
img[rel]でimgタグのrel="#mies1"を読み込みます。
要は$("#mies1").overlay()
そしてhtmlのid="#mies1"のdiv要素部分を読み込みoverlay()のイベントを実行します。
css
.simple_overlay {display:none; z-index:10000;
background-color:#333;
width:675px;
min-height:200px;
border:1px solid #666;
/* CSS3 */
-moz-box-shadow:0 0 90px 5px #000;
-webkit-box-shadow: 0 0 90px #000;}
.simple_overlay .close {background-image:url(close.png);
position:absolute;
right:-15px;
top:-15px;
cursor:pointer;
height:35px;
width:35px;}
.details {position:absolute;
top:15px;
right:15px;
font-size:11px;
color:#fff;
width:150px; }
.details h3 {color:#aba;
font-size:15px;
margin:0 0 -10px 0;}
.simple_overlayでクリックした後の画像のデザインを指定しています。
/*css3*/より下はcss3対応ブラウザのみ実行されます。
.simple_overlay .closeは閉じるボタンの配置
.detailsで画像の横の文章をデザインしています。
apple風の画像拡大方法


html
2行目、3行目で縮小画像を表示させて、4行目以降が画像のキャプチャーや詳細の部分になります。
<div id="triggers"> <img src="左の縮小画像URL" rel="#photo1"/> <img src="右の縮小画像URL" rel="#photo2"/></div> <div class="apple_overlay black" id="photo1"> <img src="左の画像URL" /> <div class="details"> <h3>Berlin Gustavohouse</h3> <p> The Gustavo House in Storkower Strasse. It was built in 1978 and reconstructed in 1998 by the Spanish artist Gustavo. </p> </div> </div> <div class="apple_overlay" id="photo2"> <img src="右の画像URL" /> <div class="details"> <h3>Berlin Alexanderplatz Station</h3> <p> Berlin Alexanderplatz is a railway station in the Berlin city centre and is one of the city's most important interchange points for local public transport. </p> </div> </div>
jquery
effectで’apple’を使うためにjquery.toolsのフルバージョンをCDNで読み込ませます。
<script
src="http://cdn.jquerytools.org/1.2.5/full/jquery.tools.min.js">
</script>
<script type="text/javascript">
$(function(){
$("#triggers img[rel]").overlay({effect: 'apple'});
});
</script>
img[rel]でimgタグのrel="#photo1"を読み込みます。
要は$("#photo1").overlay()
そしてhtmlの<div class="apple_overlay black" id="photo1">…</div>
のdiv要素部分を読み込みoverlay()のイベントを実行します。
css
div.apple_overlay.black {
background-image:
url(http://static.flowplayer.org/tools/img/overlay/transparent.png);
color:#fff;}
div.apple_overlay h2 {
margin:10px 0 -9px 0;
font-weight:bold;
font-size:14px;}
div.black h2 {color:#fff;}
#triggers img {
background-color:#fff;
padding:2px;
border:1px solid #ccc;
margin:2px 5px;
cursor:pointer;
-moz-border-radius:4px;
-webkit-border-radius:4px;}
a:active {outline:none;}
:focus {-moz-outline-style:none;}
.apple_overlay {
display:none;
background-image:url(img/white.png);
width:640px;
padding:35px;
font-size:11px;}
.apple_overlay .close {
background-image:url(img/close.png);
position:absolute; right:5px; top:5px;
cursor:pointer;
height:35px;
width:35px;}