for문 레이어 팝업

for문 레이어 팝업

QA

SIR 제작의뢰 - 견적무료/익명보정/호스팅, DB 이전/단기개발. 이젠 ' 의뢰인'이 원하는 '제작자'에게만 연락처를 알릴 수 있습니다.

for문 레이어 팝업

본문

for 문안에서 레이어 팝업을 보여주고 있는데요.

클릭시 보이는거는 각 게시물 별로 잘 보이는데 닫히질 않는데.. 어떻게 수정을 해줘야 할까요?

 

<?php
            for ($i=0; $row=sql_fetch_array($result); $i++) {
        ?>
        <style>
        #sign_pop { display:none; position:fixed; width:100%; height:100%; top:0; left:0; background:rgba(0,0,0,.8); z-index:9999999 }
        #sign_pop .wrap { position:relative; max-width:300px; padding:10px; top:50%; left:50%; transform:translate(-50%, -50%) }
        #sign_pop .wrap .area { background:#fff; padding:10px; }
        #sign_pop button.close_pop { position:absolute; width:40px; height:40px; right:-30px; top:-30px; background:url('<?php echo G5_ADMIN_URL ?>/img/close_btn.png') no-repeat; border:0; }
        </style>
        <script>
        $(function(){
             
             var pop   = $(".pop_<?php echo $row['wr_id'] ?>");
             var close = $(".close_<?php echo $row['wr_id'] ?>");
             $('.sign').on("click", function(){
                $(this).children(pop).show();
             });
             $(close).on("click", function(){
                $(this).parent().parent().hide();
             });
        });
        </script>
        <tr>
            <td><b><?php echo $row['wr_id'] ?></b></td>
            <td><?php echo $row['od_name'] ?>(<?php echo $row['od_id'] ?>)</td>
            <td><?php echo $row['wr_6'] ?></td>
            <td>결제완료</td>
            <td><?php echo date("Y-m-d", strtotime($row['wr_datetime'])); ?></td>
            <td class="sign">
                
                <!-- 레이어 -->
                <div id="sign_pop">
                    <div class="wrap">
                        <button type="button" class="close_pop"></button>
                        <div class="area">
                            <img src="<?php echo $row['od_sign'] ?>">
                        </div>
                    </div>
                </div>
                <!-- // 레이어 -->
                <div>
                    <img src="<?php echo $row['od_sign'] ?>">
                </div>
                
            </td>
        </tr>
이 글을 내 페이스북 계정으로 보내기 이 글을 내 트위터 계정으로 보내기 이 글을 내 구글플러스 계정으로 보내기

이 질문에 댓글 쓰기 :

스폰서링크

답변 1

채택됨

플래토님의 답변

위의 소스에서는 

 

for문을 열어서 닫는 구문이 없네요

 

그리고, 

for문안에

style의

#id 값 들이 동일하게 중복되면

스타일이 어떤게 적용될지 알기어려운것이 첫번재 변수이구요

 

각 태그의 id가 중복되면 스크립트상에서 접근할 ID를 알수 없습니다.

 

동일하게 하시려면

 

<style> for문 밖으로 빼시는게 낫고

<script>도 마찬가지구요

 

각 HTML 태그들도 이유가 있어서 반복수행할게 아니라면

굳이 for문 안에 둘 필요는 없습니다.

 

읽어드리는 레코드가 1개라면 다행이지만

그렇지 않고 1개보다 많으면 그 이후부터는 오류가 발생합니다.

 

for문안에서 style를 적용하게 하시려는게 의도라면

class 를 활용하시는게 낫습니다.

 

주소복사
채택됨
답변의 댓글
답변을 작성하시기 전에 로그인 해주세요.
전체 77,848 | RSS
고마운 분의 도움으로 질문을 해결하셨다면, 채택을 눌러서 감사의 마음을 전하세요.
어떻게 질문해야 할지 모른다면 질문하는 방법을 읽어 보신후 질문해 보세요.
QA 내용 검색

회원로그인

(주)에스아이알소프트 (06253) 서울특별시 강남구 도곡로1길 14, 6층 624호 (역삼동, 삼일프라자) 대표메일:admin@sir.kr
사업자등록번호:217-81-36347 대표:홍석명 통신판매업신고번호:2014-서울강남-02098호 개인정보보호책임자:이총

© SIRSOFT