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;}