테스트 사이트 - 개발 중인 베타 버전입니다

반복문 오류 채택완료

제이림 5년 전 조회 2,124

게시판 리스트에 게시글마다 마감시간이 얼마나 남았는지 실시간초단위로 나오는 형태를 만들고 싶은건데요.

반복문안에 소스를 넣었는데 한번만 실행 하네요.

첫번째 게시물만 정상적으로 시간이 나오고 밑의 게시물들은 시간이 안나옵니다.

 

디자인만 해서 잘 모르지만 ID값은 class처럼 반복이 안되니까? 그런것 같은데 안되는 원인이 맞는지 모르겠네요.

</p>

<p>        document.getElementById("counter1").innerHTML = d;

       document.getElementById("counter2").innerHTML = h;

       document.getElementById("counter3").innerHTML = m;

      document.getElementById("counter4").innerHTML = s;</p>

<p>

이런부분을 변경해야하나 싶은데 어떻게 해야 모든 게시글에 시간이 나올수 있련지요? ㅜ ㅜ

 

 

 

--------관련 부분 전문 ----

</p>

<p>    <?php

      $targetDate = new datetime($list[$i]["wr_3"]); // 여분필드 목표시간

       $formatDate = $targetDate -> format("F d, Y H:i:s"); // 여분필드 목표시간 포맷

    ?>

     <script>

      //디데이 종료 일자 설정

      var countDownDate = new Date("<?php echo $formatDate ?>").getTime();

       //1초마다 갱신되도록 함수 생성,실행

      var x = setInterval(function() {

        // 오늘 날짜 등록

        var now = new Date().getTime();

          // 종료일자에서 현재일자를 뺀 시간

        var distance = countDownDate - now;

          // 각 변수에 일, 시, 분, 초를 등록

        var d = Math.floor(distance / (1000 * 60 * 60 * 24));

        var h = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));

       var m = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));

        var s = Math.floor((distance % (1000 * 60)) / 1000);

        document.getElementById("counter1").innerHTML = d;

       document.getElementById("counter2").innerHTML = h;

       document.getElementById("counter3").innerHTML = m;

      document.getElementById("counter4").innerHTML = s;

      });

      </script></p>

<p>              <div id=count>

               <font color="#f82c8c" size="2"><img src='/img/ic_lpt3.png' alt=''> <b> 완료까지

               <span id=counter1></span>일

               <span id=counter2></span> :

               <span id=counter3></span> :

               <span id=counter4></span> 남음</b>

               </font>

             </div></p>

<p>             <script>getTime()</script></p>

<p>

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트

소스가 파악하기 힘들어 도움이 되고자 하는 말을 전하자면

 

<?php for($i=0; $i<5; $i++){?>

 <div id="count_<?php echo  $i ?>"></div> // count_0 count_1 ... count_4 까지 만듦.

<?php } ?>

<script>

..

 for(var i = 0; i < 5; i++){

 $("count_" + i ).제어();

}

..

</script>

 

이런식으로 활용하실 수 있습니다

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인