반복문 오류 채택완료
제이림
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 포인트
5년 전
소스가 파악하기 힘들어 도움이 되고자 하는 말을 전하자면
<?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>
이런식으로 활용하실 수 있습니다
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인