
lightbox風のモーダルウィンドウについての質問です。
質問させて頂きます。
●状況
小さくサムネイルの画像をクリックすると本来の大きさの画像がポップアップ表示させるものを作りたいです。
まんまlightboxだけど、クライアントさんが変なエフェクト(ウィーンとか)はいらないとおっしゃってきます。
なので簡単なモーダルウィンドウ風のものを構築したいと思っています。
そこでどうしても解決できない問題がおきてしまったのでお聞きしたいです。
■HTML↓-----------------------------------
<a href="photo1.jpg" class="modal"><img src="photo1_thum.jpg" alt="画像" width="100" height="100" /></a>
■SCRIPT↓-----------------------------------
$(function(){
$("body").append("<div id='glayLayer'></div><div id='overLayer'></div><p id='notes'>あああ</p>");
$("#glayLayer").click(function(){
$(this).hide();
$("#overLayer").hide();
$("#notes").hide();
});
$("a.modal").click(function(){
$("#glayLayer").show();
$("#overLayer").show().html("<img src='"+$(this).attr("href")+"' />");
$("#notes").show();
return false;
});
if($.browser.msie && $.browser.version<7){
$(window).scroll(function(){
$("#glayLayer").get(0).style.setExpression("top","$(document).scrollTop()+'px'");
$("#overLayer").get(0).style.setExpression("top","($(document).scrollTop()+$(window).height()/2)+'px'");
$("#notes").get(0).style.setExpression("top","($(document).scrollTop()+$(window).height()/2)+'px'");
});
}
});
■CSS↓-----------------------------------
div#glayLayer{
display:none;
position:fixed;
left:0;
top:0;
height:100%;
width:100%;
background: #000;
filter:alpha(opacity=60);
opacity: 0.60;
}
#overLayer{
display:none;
position: fixed;
top:50%;
left:50%;
margin-top:-***px; /*本来の画像の高さの半分*/ ←ココ
margin-left:-***px; /*本来の画像の横のサイズの半分*/ ←ココ
}
p {
display:none;
position: fixed;
top:50%;
left:50%;
margin-top:***px; /*本来の画像の高さの半分*/ ←ココ
margin-left:-***px; /*本来の画像の横のサイズの半分*/ ←ココ
}
* html div#glayLayer{ position:absolute; } /*FOR IE6*/
* html #overLayer{ position: absolute; } /*FOR IE6*/
* html #notes{ position: absolute; } /*FOR IE6*/
●質問
動き自体は完成しているのですが、本来の各画像のサイズがまちまちです。
そのため、CSSでブラウザの真ん中に表示させるために本来の画像の縦と横のサイズを取得したいと思うのですが
取得する方法はあるのでしょうか?
ひとつ解決策がのっているサイトを見つけたのですがコードがかなり長く理解不能でした。。
もし何か簡単な解決策を知っている方がいましたら教えて頂きたいです。
よろしくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
透過pngで作った画像がIE6で表...
-
指定したパスが現URLに含まれて...
-
javascriptテキストBOX色を元に...
-
Jquery 親要素で順番入れ替え
-
スライドショー(1回)が思う...
-
画像をランダムに表示するには
-
javascriptのDOMについて
-
libjpegライブラリの使い方につ...
-
【HTML、VBScript】HTAでのイベ...
-
「戻る」「進む」ボタンで画像...
-
多階層ドロップダウンのスマホ...
-
外部ファイルにしたら文字化け...
-
Jqueryでclickさせる方法が分か...
-
1枚の画像をクリックすると複数...
-
textContentを追記すると、HTML...
-
jQuery 複数のfind()
-
オンマウスで流れる文字
-
ランダムに画像と文章を表示
-
リンクの張り方
-
折たたみメニューの表示・非表示
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
jQueryで同じクラス名のものを...
-
Javascript初心者|jQueryの.va...
-
デフォルト非表示にしたい。【t...
-
javascript ランダム表示
-
ホームページ作成で画像スクロ...
-
JavaScript - 月ごとに画像変化
-
HTMLへ要素の挿入について
-
animateを使用したマウスオーバ...
-
IMGタグごとにCSSを設定する方法
-
一定時間で入れ替わるバナー画...
-
embed要素のsrc属性の値を変更...
-
アニメーションをループさせたい
-
jqueryを使用した画像スクロー...
-
clear機能を失わずにファイルア...
-
jQueryでセレクタに複数のIDを...
-
イラストのボタンを押したとき...
-
吹き出しに画像とコメントを入...
-
セレクトボックスで、リンクバ...
-
Jquery cheeckbox(複数)とsli...
-
複数bxsliderをタブで切り替え...
おすすめ情報