게시판목록 게시글마다 목표시간까지 남은시간 표시
본문
저의 용도는 다르지만 이벤트게시판에 각 이벤트 게시물마다 여분필드에 이벤트 종료시간을 적고 그 종료시간까지의 남은시간이 목록에 카운트되는 형식이라고 이해하시면 제가 원하는 형태가 무엇인지 이해가 쉬우실듯합니다.
근데 현재 적용된 소스는 첫 게시물만 남은시간이 정상적으로 나오고 나머지는 아예 나오지 않습니다.
각 게시물마다 여분필드에 입력된 시간까지의 남은시간이 정상적으로 나오려면 어찌해야할련지요?
저와 같은 의도를 가지신 질문글에 답변이
id값 counter1부터 4까지의 값을 늘리세여
아니면 함수를 늘려주시고 위 아이디값을 바꿔주세여
이렇게 답변이 달렸었는데 어찌하는지를 몰라서...ㅠㅠ
자세한 답변 부탁드립니다. ㅜ ㅜ 자꾸 질문해서 죄송합니다.
아래는 소스 원문입니다. ------------
<?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>
<DIV id=count>
<font color="#000000" size="3"><b> 남은시간</b></font>
<font size="4"><b>
<SPAN id=counter1></SPAN>일
<SPAN id=counter2></SPAN>시간
<SPAN id=counter3></SPAN>분
<SPAN id=counter4></SPAN>초</b>
</font>
</div>
<SCRIPT>getTime()</SCRIPT>
답변 1
출력한 소수만 봐서는 정확한 파악이 쉽지는 않지만
$list[$i]["wr_3"] 이와 같은 소스는 for문 안에서 출력하게 되는데요.
for문 밖에 있으면 출력에 문제가 있을듯 싶네요.