Lightbox風 モーダルウィンドウをつくっている中でのメモ。

モーダルウィンドウ


CSS
★opacityに対応していないIE向けにはfilterプロパティも並記。
 例)opacity: 0.60;
  filter: alpha(opacity=60);
 
 ★IEはposition: fixed;に対応していないので、スターハックでposition: abusolute;に。
  例)*html #glayLayer {
position: abusolute;
}


JavaScript
★上記の『position: abusolute;』を『position: fixed;』へ擬似的に実現する処理をさせる為、IE6のみに下のように記述。
  例)if($.browser.msie && $.browser.version<7){
$(window).scroll(function(){
 $("#glayLayer").css('top',$(document).scrollTop());
 $("#overLayer").css('top',($(document).scrollTop()+$(window).height()/2) +"px");
 });
}

  ☆解説
   $(window).scroll(function(){
   ブラウザー上でのスクロール処理(スクロールイベント)を感知し、{...}内に記述された
   命令を実行する構文。


   scrollTop()
   現在のスクロール位置を取得する命令。セレクターに$(document)と指定すると
   Webページ先頭からの位置を得られる。


   height()
   要素の高さを取得する命令。セレクターに$(window)と指定するとブラウザーの表示領域の高さを得られる。


 ★上記の記述でチラツキが生じる場合は、IE独自の『setExpression』という命令で問題を回避。
  この命令はIE5〜7のみに効果あり。
  例)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'");
 });
}

  get(0)
  jQueryで取得した要素にJavaScriptで記述した処理を適用する命令