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 를 활용하시는게 낫습니다.

 

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

회원로그인

진행중 포인트경매

  1. ISPCONFIG 3 PRO 자동설치 스크립트

    참여37 회 시작19.05.21 10:11 종료19.05.28 10:11

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

© SIRSOFT