카테고리 없음

전체배경 투명&비활성화 팝업레이어 생성시 스크롤 화면 잘림현상

꿈꾸는새벽별 2012. 11. 12. 17:45

1. 전체배경 투명&비활성화 팝업레이어 생성시 스크롤 화면 잘림현상

 

 

/***********************************************************
	함수명		: addDiv_item()
	처리내용	: Div 태그 추가 함수
***********************************************************/
function addTag_item($addItem,$cName,$addID,$addCss,$outh){
	
	var div = document.createElement($addItem);
	var outhtml = "";//return할 HTML스트링
	div.innerHTML = "";//출력부분의 내용을 초기화
	div.id = $cName;
	div.className = $cName;
	//outhtml +="
666
"; outhtml = $outh; div.innerHTML = outhtml; document.getElementById($addID).appendChild(div); //elm.style.display = "block"; document.getElementById($cName).style.display="block"; document.getElementById($cName).accessKey = "L"; setCSSProperty($cName, $addCss); } /*********************************************************** 함수명 : modalPopup() 처리내용 : 모달팝업 함수 모달팝업에 변수값은 브라우저에서 레이아웃의 좌측위치 %값 lfNum = 40 ( left:40% ) ***********************************************************/ function modalPopup(lfNum){ var popName = "popLayer"; //alert(naviApp()+"참나"); if(naviApp().indexOf("MSIE") !=-1){ //alert(navigator.appName); op = "filter:alpha(opacity=35);"; }else{ //alert(navigator.appName); op = ""; } addTag_item("div",'popWindow',"mosBody",'display:none;position:absolute;left:0;top:0;width:100%;height:100%;z-index:1000;','' ); addTag_item("div",'modalWindow',"popWindow",'position:absolute;border:0;left:0;top:0;width:100%;height:100%;background:#000;opacity:.35;'+op,'' ); addTag_item("div",'popLayer',"popWindow", "position:absolute;top:150px;left:"+lfNum+"%;padding:10px;border:2px solid #737373;margin:0 0 0 -180px;background:#ffffff;" ,''); return popName; } /*********************************************************** 함수명 : popCall() 처리내용 : 모달팝업에 들어갈 함수 정의 popCall( style left값%, div가로사이즈, 내용호출함수, 컨텐츠배경색); ***********************************************************/ function popCall(lf,wSize,fun){ addTag_item("div","modalCon",modalPopup(lf), "position:relative;width:"+wSize+"px;background:#f2f2f2;",fun); }

 

 

 

여기까지가 기본적인 모달 팝업 스타일이다..

하지만 화면에 스크롤이 있을경우 스롤을 움직이면 백그라운드가 짤리는 현상이 일어난다.

그부분의 해결법은 두가지가 있는데

1. 브라우져 전체 사이즈를 구하는 document.body.clientWidth / document.body.clientHeight 함수를 이용하여 백그라운드 사이즈를 px로 정해버리는 방법

2. 팝업 이벤트가 발생할경우 body에 스크롤 no로 해버리는 방법

위 소스는 2번으로 적용해놓은 상태..