레이어 팝업 띄울시 한페이당 id값을 2개로 각각 띄우는 방법에 대해 ㅠ.ㅠ

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
레이어 팝업 띄울시 한페이당 id값을 2개로 각각 띄우는 방법에 대해 ㅠ.ㅠ

QA

레이어 팝업 띄울시 한페이당 id값을 2개로 각각 띄우는 방법에 대해 ㅠ.ㅠ

본문


<a href="#" id="page_layer_open" style="color:#0099CC">[미리보기]</a>      //클릭시 해당 id="layer1"​ 창 열기 
<a href="#" id="page_edit_open" style="color:#0099CC">[수정]</a>               //클릭시 해당   id="layer2"​ 창 열기 ​
 
<SCRIPT LANGUAGE="JavaScript"> 
 
$(function($){
	function layer_open(el){
		$('.layer').fadeIn();
		var temp = $('#' + el);
		if (temp.outerHeight() < $(document).height() ) temp.css('margin-top', '-'+temp.outerHeight()/2+'px');
		else temp.css('top', '0px');
		if (temp.outerWidth() < $(document).width() ) temp.css('margin-left', '-'+temp.outerWidth()/2+'px');
		else temp.css('left', '0px');
	}
	$('#page_layer_open').click(function(){
		layer_open('layer1'); /* 열고자 하는 것의 아이디를 입력 */
		return false;
	});
	
	$('#page_edit_open').click(function(){
		layer_open('layer2'); /* 열고자 하는 것의 아이디를 입력 */
		return false;
	});
	
       $('.layer .bg').click(function(){
		$('.layer').fadeOut();
	});
	$('#layer_close').click(function(){
		$('.layer').fadeOut();
		return false;
	});
	$(document).ready(function(){
	});
});
 
//-->
</SCRIPT> 
 
<div class="layer">
	<div class="bg"></div>
	<div class="layer_area" id="layer1">                       // id값이 layer1인 창
		<div>
			<iframe src='주소1'></iframe>
		</div>
		<div style='text-align:right'><a href='#' id='layer_close'><img src='닫기이미지​' /></a></div>
	</div>
</div>
 
 
 
<div class="layer">
	<div class="bg"></div>
	<div class="layer_area" id="layer2">     // id값이 layer2인 창​
 
		<div>
			<iframe src='주소​2' ></iframe>
		</div>
		<div style='text-align:right'><a href='#' id='layer_close'><img src=​'닫기이미지' /></a></div>
	</div>
</div> 
 
 
 

 

결과는 정상적으로 창이 나옵니다 ㅠ,ㅠ 하지만 ㅠㅠ 

 

클릭시 해당되는 id값만 창이 나와야 하는데 나머지id값인 창도 나오네요 ㅠ,ㅠ

 

총 2개의 창이 나오는데요 ㅠ,ㅠ

 

왜 id값을 다르게 지정해주었는데 모두 출력이 되는건가요? ㅠ,ㅠ 

 

자바스크립트 안에 layer_open(el) 함수안에 el을 찍어봐도 각각 해당되는 id값만 나오는데 ㅠ,ㅠ 

이 질문에 댓글 쓰기 :

답변 1

$('.layer').fadeIn();

var temp = $('#' + el);

=>

var temp = $('#' + el);

temp.fadeIn();

 

<a href="#" id="page_layer_open" style="color:#0099CC">[미리보기]</a>      //클릭시 해당 id="layer1"​ 창 열기
<a href="#" id="page_edit_open" style="color:#0099CC">[수정]</a>              //클릭시 해당  id="layer2"​ 창 열기 ​
 
<div class="layer">
<div class="bg"></div>
<div class="layer_area" id="layer1">                      // id값이 layer1인 창
<div>
<iframe src='주소1'></iframe>
</div>
<div style='text-align:right'><a href='#' id='layer_close'><img src='닫기이미지​' /></a></div>
</div>
</div>
 
<div class="layer">
<div class="bg"></div>
<div class="layer_area" id="layer2">    // id값이 layer2인 창​
 
<div>
<iframe src='주소​2' ></iframe>
</div>
<div style='text-align:right'><a href='#' id='layer_close'><img src=​'닫기이미지' /></a></div>
</div>
</div>

<script>
function layer_open(el) {
var temp = $('#' + el);temp.fadeIn();
if (temp.outerHeight() < $(document).height() ) temp.css('margin-top', '-'+temp.outerHeight()/2+'px');
else temp.css('top', '0px');
if (temp.outerWidth() < $(document).width() ) temp.css('margin-left', '-'+temp.outerWidth()/2+'px');
else temp.css('left', '0px');
}
$('#page_layer_open').click(function(){
layer_open('layer1');
});

$('#page_edit_open').click(function(){
layer_open('layer2');
});

 $('.layer .bg').click(function(){
$('.layer').fadeOut();
});
$('#layer_close').click(function(){
$('.layer').fadeOut();
});
</script>

답변을 작성하시기 전에 로그인 해주세요.
전체 19
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT