게시물마다 시간 카운트다운 채택완료
1. 게시물마다 카운트다운을 하려고 합니다.
어찌어찌 소스를 구해서 php에서 남은 시간을 구해오는데는 성공했어요
<?php
$d_date = strtotime($list[$i]['wr_2']); // 종료시간
$dd_date = strtotime(date('Ymd H:i:s'));//현재시간
$total_time = $d_date - $dd_date; // 작성시간으로부터 얼마나 남았는지
$years = floor($total_time/31536000);
$days = floor($total_time/86400);
$date = ($days -(365*$years));
$time = $total_time - ($days*86400);
$hours = floor($time/3600);
$time = $time - ($hours*3600);
$min = floor($time/60);
$sec = $time - ($min*60);
if($years==0&&$date==0&&$hours==0&&$min==0)
echo ".$sec."초 </font>";
else if ($years==0&&$date==0&&$hours==0)
echo ".$min."분 ".$sec."초</font>";
else if($years==0&&$date==0)
echo ".$hours."시간".$min."분 ";
else if($years==0)
echo ".$date."일 ".$hours."시간";
else
echo "";
?>
이렇게 해서 php로는 남은 기간이나 일정을 구했는데 여기서 자바스크립트로 실시간으로 시간이 변하도록 변경하고싶어요.
경매사이트 보면 분이랑 초단위로 실시간으로 변경되는것처럼요.
이거저거 찾아서 해봐도 안되더라구요..ㅠㅠ도와주실분 계신가요.
2. 스크랩에서 특정 조건은 맨 뒷페이지로 넘기고 싶어요.
지금은 종료시간에 맞춰서 정렬을 했는데. 여기서 wr_2값이 현재시간이 지났으면 맨 뒷페이지로 이동하게 할수 있을까요?
$sql_order = " order by wr_2 asc ";
https://sir.kr/g5_plugin/1090 이걸 어떻게 수정하면 될거같은데 잘 모르겠네요 ㅠㅠ
답변 6개
다음과 같은 방법도 있으니 참고해보세요
1번 질문
</p>
<p><script>
window.onload = function() {
// 종료 시간 설정 (UNIX 타임스탬프 형식으로)
var end_time = <?php echo strtotime($list[$i]['wr_2']); ?>;
// 카운트다운 업데이트 함수
function updateCountdown() {
var current_time = Math.floor(Date.now() / 1000); // 현재 UNIX 타임스탬프
var remaining_time = end_time - current_time; // 종료 시간까지 남은 시간 (초)
var days = Math.floor(remaining_time / (60 * 60 * 24));
var hours = Math.floor((remaining_time % (60 * 60 * 24)) / (60 * 60));
var minutes = Math.floor((remaining_time % (60 * 60)) / 60);
var seconds = remaining_time % 60;
// HTML 업데이트
document.getElementById('countdown').innerHTML = days + "일 " + hours + "시간 " + minutes + "분 " + seconds + "초";
}
// 매 초마다 카운트다운 업데이트
setInterval(updateCountdown, 1000);
// 페이지 로드 시에도 한 번 업데이트
updateCountdown();
};
</script>
<div id="countdown"></div></p>
<p>
2번 질문
</p>
<p><?php
// 현재 시간 (UNIX 타임스탬프 형식)
$current_time = strtotime(date('Ymd H:i:s'));</p>
<p>// 특정 조건 판별 (예: 현재 시간이 종료 시간을 지났는지)
if ($current_time > strtotime($list[$i]['wr_2'])) {
// 지난 경우, 맨 뒷페이지로 이동하는 URL로 redirect
header("Location: 맨뒷페이지URL");
exit; // 페이지 이동 후에는 반드시 종료 명령을 추가
} else {
// 지나지 않은 경우, 정상적인 페이지 로드
// 이 부분에 기존의 페이지 로직 추가
}
?>
답변에 대한 댓글 2개
<?php
include_once('./_common.php');
if (!$is_member)
alert_close('회원만 조회하실 수 있습니다.');
$sql_common = " from {$g5['scrap_table']} where mb_id = '{$member['mb_id']}' ";
$sql_order = " order by wr_id asc ";
$sql = " select count(*) as cnt $sql_common ";
$row = sql_fetch($sql);
$total_count = $row['cnt'];
$rows = $config['cf_page_rows'];
$total_page = ceil($total_count / $rows); // 전체 페이지 계산
if ($page < 1) $page = 1; // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $rows; // 시작 열을 구함
$list = array();
$sql = " select *
$sql_common
$sql_order
limit $from_record, $rows ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) {
$list[$i] = $row;
// 순차적인 번호 (순번)
$num = $total_count - ($page - 1) * $rows - $i;
// 게시판 제목
$sql2 = " select bo_subject from {$g5['board_table']} where bo_table = '{$row['bo_table']}' ";
$row2 = sql_fetch($sql2);
if (!$row2['bo_subject']) $row2['bo_subject'] = '[게시판 없음]';
// 게시물 제목
$tmp_write_table = $g5['write_prefix'] . $row['bo_table'];
$sql3 = " select wr_subject, wr_2 from $tmp_write_table where wr_id = '{$row['wr_id']}' ";
$row3 = sql_fetch($sql3, FALSE);
$subject = ($row3['wr_subject']) ? get_text(cut_str($row3['wr_subject'], 100)) : '글이 없습니다.';
$list[$i]['num'] = $num;
$list[$i]['opener_href'] = './board.php?bo_table='.$row['bo_table'];
$list[$i]['opener_href_wr_id'] = './board.php?bo_table='.$row['bo_table'].'&wr_id='.$row['wr_id'];
$list[$i]['bo_subject'] = $row2['bo_subject'];
$list[$i]['subject'] = $subject;
$list[$i]['wr_2'] = $row3['wr_2'];
$list[$i]['del_href'] = './scrap_delete.php?ms_id='.$row['ms_id'].'&page='.$page;
}
$write_page_rows = (G5_IS_MOBILE) ? $config['cf_mobile_pages'] : $config['cf_write_pages'];
$list_page = $_SERVER['PHP_SELF'].'?'.$qstr.'&page=';
// Page ID
$pid = ($pid) ? $pid : '';
$at = apms_page_thema($pid);
include_once(G5_LIB_PATH.'/apms.thema.lib.php');
// 스킨 체크
list($member_skin_path, $member_skin_url) = apms_skin_thema('member', $member_skin_path, $member_skin_url);
// 설정값 불러오기
$is_scrap_sub = true;
@include_once($member_skin_path.'/config.skin.php');
$g5['title'] = get_text($member['mb_nick']).'님의 관심목록';
if($is_scrap_sub) {
include_once(G5_PATH.'/head.php');
if(!USE_G5_THEME) @include_once(THEMA_PATH.'/head.sub.php');
} else {
include_once('./_head.php');
}
$skin_path = $member_skin_path;
$skin_url = $member_skin_url;
// 스킨설정
$wset = (G5_IS_MOBILE) ? apms_skin_set('member_mobile') : apms_skin_set('member');
$setup_href = '';
if(is_file($skin_path.'/setup.skin.php') && ($is_demo || $is_designer)) {
$setup_href = './skin.setup.php?skin=member&ts='.urlencode(THEMA);
}
include_once($skin_path.'/scrap.skin.php');
if($is_scrap_sub) {
if(!USE_G5_THEME) @include_once(THEMA_PATH.'/tail.sub.php');
include_once(G5_PATH.'/tail.php');
} else {
include_once('./_tail.php');
}
?>
1번질문도 그렇고 위치를 잘못 찾는거같네요..
댓글을 작성하려면 로그인이 필요합니다.
다음과 같은 방법으로 해 볼 수 있을 것 같습니다.
참고하셔서 원하시는 형식으로 구현해 보세요
스크랩스킨파일
</p>
<p><?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
include_once(G5_LIB_PATH.'/thumbnail.lib.php');</p>
<p>$thum_width = 203; // 썸네일 가로크기
$thum_height = 271; // 썸네일 세로크기
$img_cols = 4; //썸네일 가로 개수</p>
<p>// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
add_stylesheet('<link rel="stylesheet" href="'.$skin_url.'/style.css" media="screen">', 0);</p>
<p>?>
<script>
window.onload = function() {
<?php for ($i = 0; $i < count($list); $i++) : ?>
// 종료 시간 설정 (UNIX 타임스탬프 형식으로)
var end_time_<?php echo $i; ?> = <?php echo strtotime($list[$i]['wr_2']); ?>;
// 카운트다운 업데이트 함수
function updateCountdown_<?php echo $i; ?>() {
var current_time = Math.floor(Date.now() / 1000); // 현재 UNIX 타임스탬프
var remaining_time = end_time_<?php echo $i; ?> - current_time; // 종료 시간까지 남은 시간 (초)
var days = Math.floor(remaining_time / (60 * 60 * 24));
var hours = Math.floor((remaining_time % (60 * 60 * 24)) / (60 * 60));
var minutes = Math.floor((remaining_time % (60 * 60)) / 60);
var seconds = remaining_time % 60;
// HTML 업데이트
document.getElementById('countdown_<?php echo $i; ?>').innerHTML = days + "일 " + hours + "시간 " + minutes + "분 " + seconds + "초 남음";
// 만약 종료 시간이 현재 시간보다 이전이면 해당 항목을 맨 뒷페이지로 이동
if (remaining_time <= 0) {
document.getElementById('item_<?php echo $i; ?>').style.display = 'none';
}
}
// 매 초마다 카운트다운 업데이트
setInterval(updateCountdown_<?php echo $i; ?>, 1000);
// 페이지 로드 시에도 한 번 업데이트
updateCountdown_<?php echo $i; ?>();
<?php endfor; ?>
};
</script></p>
<p><div class="sub-title">
<h4>
<?php if($member['photo']) { ?>
<a href="<?php echo $list[$i]['opener_href_wr_id'] ?>" target="_blank" onclick="opener.document.location.href='<?php echo $list[$i]['opener_href_wr_id'] ?>'; return false;">
<?php
$thumb = get_list_thumbnail($list[$i]['bo_table'], $list[$i]['wr_id'], $thum_width, $thum_height, false, true);
if($thumb['src']) {
$img_content = '<span style="float:left;width:100%"><img src="'.$thumb['src'].'" alt="'.$thumb['alt'].'"></span>';
} else {
$img_content = '';
}
echo $img_content;
?>
</a>
<?php } else { ?>
<i class="fa fa-user"></i>
<?php } ?>
<?php echo $g5['title'];?>
</h4>
</div></p>
<p><table class="div-table table">
<tbody>
<tr>
<?php
for ($i=0; $i<count($list); $i++) {
$thumb = get_list_thumbnail($bo_table, $list[$i]['wr_id'], $thumb_width, $thumb_height);
if($thumb['src']) {
$img_content = '<img src="'.$thumb['src'].'" alt="'.$thumb['alt'].'" width="'.$thumb_width.'" height="'.$thumb_height.'">';
} else {
$img_content = '<img src="'.$latest_skin_url.'/img/noimage.gif" width="'.$thumb_width.'" height="'.$thumb_height.'">';
}
?>
<?php if ($i>0 && ($i % $img_cols == 0)) { ?>
</tr>
<tr>
<td colspan="<?php echo $img_cols ?>" height="5"></td>
</tr>
<tr>
<?php } ?>
<td id="item_<?php echo $i; ?>" align="center" valign="top" style="padding:5px">
<table width="<?php echo $thumb_width ?>" cellspacing="0" cellpadding="0">
<tr>
<td align="center"> <a href="<?php echo $list[$i]['opener_href_wr_id'] ?>">
<?php if(!G5_IS_MOBILE){ ?>
<?php
$thumb = get_list_thumbnail($list[$i]['bo_table'], $list[$i]['wr_id'], $thum_width, $thum_height, false, true);
if($thumb['src']) {
$img_content = '<span style="float:left;width:100"><img src="'.$thumb['src'].'" alt="'.$thumb['alt'].'"></span>';
} else {
$img_content = '';
}
echo $img_content;
?>
<?php } ?>
<?php if(G5_IS_MOBILE){ ?>
<?php
$thumb = get_list_thumbnail($list[$i]['bo_table'], $list[$i]['wr_id'], 84, 111, false, true);
if($thumb['src']) {
$img_content = '<span style="float:left;width:100"><img src="'.$thumb['src'].'" alt="'.$thumb['alt'].'"></span>';
} else {
$img_content = '';
}
echo $img_content;
?>
<?php } ?>
<?php } ?>
</td>
<?php } ?>
</tr>
</tbody>
</table>
댓글을 작성하려면 로그인이 필요합니다.
@비타주리 님이 말씀하신것 처럼 for 안에서 반복 처리를 하셔야 하는데 그렇게 하지 않아서 적용이 되지 않은것 같네요
다음을 참고하셔서 원하시는 형식으로 구현해 보세요
</p>
<p><?php
include_once('./_common.php');</p>
<p>if (!$is_member)
alert_close('회원만 조회하실 수 있습니다.');</p>
<p>$sql_common = " from {$g5['scrap_table']} where mb_id = '{$member['mb_id']}' ";</p>
<p>$sql_order = " order by wr_id asc ";</p>
<p>$sql = " select count(*) as cnt $sql_common ";
$row = sql_fetch($sql);
$total_count = $row['cnt'];</p>
<p>$rows = $config['cf_page_rows'];
$total_page = ceil($total_count / $rows); // 전체 페이지 계산
if ($page < 1) $page = 1; // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $rows; // 시작 열을 구함</p>
<p>$list = array();</p>
<p>$sql = " select *
$sql_common
$sql_order
limit $from_record, $rows ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) {</p>
<p> $list[$i] = $row;</p>
<p> // 순차적인 번호 (순번)
$num = $total_count - ($page - 1) * $rows - $i;</p>
<p> // 게시판 제목
$sql2 = " select bo_subject from {$g5['board_table']} where bo_table = '{$row['bo_table']}' ";
$row2 = sql_fetch($sql2);
if (!$row2['bo_subject']) $row2['bo_subject'] = '[게시판 없음]';</p>
<p> // 게시물 제목
$tmp_write_table = $g5['write_prefix'] . $row['bo_table'];
$sql3 = " select wr_subject, wr_2 from $tmp_write_table where wr_id = '{$row['wr_id']}' ";
$row3 = sql_fetch($sql3, FALSE);
$subject = ($row3['wr_subject']) ? get_text(cut_str($row3['wr_subject'], 100)) : '글이 없습니다.';</p>
<p> $list[$i]['num'] = $num;
$list[$i]['opener_href'] = './board.php?bo_table='.$row['bo_table'];
$list[$i]['opener_href_wr_id'] = './board.php?bo_table='.$row['bo_table'].'&wr_id='.$row['wr_id'];
$list[$i]['bo_subject'] = $row2['bo_subject'];
$list[$i]['subject'] = $subject;</p>
<p> $list[$i]['wr_2'] = $row3['wr_2'];
$list[$i]['del_href'] = './scrap_delete.php?ms_id='.$row['ms_id'].'&page='.$page;
}
?></p>
<p><script>
window.onload = function() {
<?php for ($i = 0; $i < count($list); $i++) : ?>
// 종료 시간 설정 (UNIX 타임스탬프 형식으로)
var end_time_<?php echo $i; ?> = <?php echo strtotime($list[$i]['wr_2']); ?>;
// 카운트다운 업데이트 함수
function updateCountdown_<?php echo $i; ?>() {
var current_time = Math.floor(Date.now() / 1000); // 현재 UNIX 타임스탬프
var remaining_time = end_time_<?php echo $i; ?> - current_time; // 종료 시간까지 남은 시간 (초)
var days = Math.floor(remaining_time / (60 * 60 * 24));
var hours = Math.floor((remaining_time % (60 * 60 * 24)) / (60 * 60));
var minutes = Math.floor((remaining_time % (60 * 60)) / 60);
var seconds = remaining_time % 60;
// HTML 업데이트
document.getElementById('countdown_<?php echo $i; ?>').innerHTML = days + "일 " + hours + "시간 " + minutes + "분 " + seconds + "초";
}
// 매 초마다 카운트다운 업데이트
setInterval(updateCountdown_<?php echo $i; ?>, 1000);
// 페이지 로드 시에도 한 번 업데이트
updateCountdown_<?php echo $i; ?>();
<?php endfor; ?>
};
</script></p>
<p><?php for ($i = 0; $i < count($list); $i++) : ?>
<div id="countdown_<?php echo $i; ?>"></div>
<?php endfor; ?>
답변에 대한 댓글 1개
<?php for ($i = 0; $i < count($list); $i++) : ?>
<div id="countdown_<?php echo $i; ?>"></div>
<?php endfor; ?>
이부분에서
<?php for ($i = 0; $i < count($list); $i++) : ?>
<?php endfor; ?>
이거 두줄을 지우니까 잘 정상작동합니다!!
이부분을 지워도 문제가 없을까요?
정말감사해요.. 몇일동안 고생했는데..ㅠㅠ
하나만 더 질문할게요..
스크랩도 어느부분에 넣어야하는지 조금만 자세히 알려주시면 감사하겠습니다...기프티콘을 보내드리고 싶은데 어디로 보내드리면 좋을까요..
스크랩에서 특정 조건은 맨 뒷페이지로 넘기고 싶어요.
지금은 종료시간에 맞춰서 정렬을 했는데. 여기서 wr_2값이 현재시간이 지났으면 맨 뒷페이지로 이동하게 할수 있을까요?
$sql_order = " order by wr_2 asc ";
스크랩스킨파일입니다..
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
include_once(G5_LIB_PATH.'/thumbnail.lib.php');
$thum_width = 203; // 썸네일 가로크기
$thum_height = 271; // 썸네일 세로크기
$img_cols = 4; //썸네일 가로 개수
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
add_stylesheet('<link rel="stylesheet" href="'.$skin_url.'/style.css" media="screen">', 0);
?>
<script>
window.onload = function() {
<?php for ($i = 0; $i < count($list); $i++) : ?>
// 종료 시간 설정 (UNIX 타임스탬프 형식으로)
var end_time_<?php echo $i; ?> = <?php echo strtotime($list[$i]['wr_2']); ?>;
// 카운트다운 업데이트 함수
function updateCountdown_<?php echo $i; ?>() {
var current_time = Math.floor(Date.now() / 1000); // 현재 UNIX 타임스탬프
var remaining_time = end_time_<?php echo $i; ?> - current_time; // 종료 시간까지 남은 시간 (초)
var days = Math.floor(remaining_time / (60 * 60 * 24));
var hours = Math.floor((remaining_time % (60 * 60 * 24)) / (60 * 60));
var minutes = Math.floor((remaining_time % (60 * 60)) / 60);
var seconds = remaining_time % 60;
// HTML 업데이트
document.getElementById('countdown_<?php echo $i; ?>').innerHTML = days + "일 " + hours + "시간 " + minutes + "분 " + seconds + "초 남음";
}
// 매 초마다 카운트다운 업데이트
setInterval(updateCountdown_<?php echo $i; ?>, 1000);
// 페이지 로드 시에도 한 번 업데이트
updateCountdown_<?php echo $i; ?>();
<?php endfor; ?>
};
</script>
<div class="sub-title">
<h4>
<?php if($member['photo']) { ?>
<a href="<?php echo $list[$i]['opener_href_wr_id'] ?>" target="_blank" onclick="opener.document.location.href='<?php echo $list[$i]['opener_href_wr_id'] ?>'; return false;">
<?php
$thumb = get_list_thumbnail($list[$i]['bo_table'], $list[$i]['wr_id'], $thum_width, $thum_height, false, true);
if($thumb['src']) {
$img_content = '<span style="float:left;width:100%"><img src="'.$thumb['src'].'" alt="'.$thumb['alt'].'"></span>';
} else {
$img_content = '';
}
echo $img_content;
?></a>
<?php } else { ?>
<i class="fa fa-user"></i>
<?php } ?>
<?php echo $g5['title'];?>
</h4>
</div>
<table class="div-table table">
<tbody>
<tr>
<?php
for ($i=0; $i<count($list); $i++) {
$thumb = get_list_thumbnail($bo_table, $list[$i]['wr_id'], $thumb_width, $thumb_height);
if($thumb['src']) {
$img_content = '<img src="'.$thumb['src'].'" alt="'.$thumb['alt'].'" width="'.$thumb_width.'" height="'.$thumb_height.'">';
} else {
$img_content = '<img src="'.$latest_skin_url.'/img/noimage.gif" width="'.$thumb_width.'" height="'.$thumb_height.'">';
}
?>
<?php if ($i>0 && ($i % $img_cols == 0)) { ?>
</tr>
<tr>
<td colspan="<?php echo $img_cols ?>" height="5"></td>
</tr>
<tr>
<?php } ?>
<td align="center" valign="top" style="padding:5px">
<table width="<?php echo $thumb_width ?>" cellspacing="0" cellpadding="0">
<tr>
<td align="center"> <a href="<?php echo $list[$i]['opener_href_wr_id'] ?>">
<?php if(!G5_IS_MOBILE){ ?>
<?php
$thumb = get_list_thumbnail($list[$i]['bo_table'], $list[$i]['wr_id'], $thum_width, $thum_height, false, true);
if($thumb['src']) {
$img_content = '<span style="float:left;width:100"><img src="'.$thumb['src'].'" alt="'.$thumb['alt'].'"></span>';
} else {
$img_content = '';
}
echo $img_content;
?>
<?php } ?>
<?php if(G5_IS_MOBILE){ ?>
<?php
$thumb = get_list_thumbnail($list[$i]['bo_table'], $list[$i]['wr_id'], 84, 111, false, true);
if($thumb['src']) {
$img_content = '<span style="float:left;width:100"><img src="'.$thumb['src'].'" alt="'.$thumb['alt'].'"></span>';
} else {
$img_content = '';
}
echo $img_content;
?>
<?php } ?>
댓글을 작성하려면 로그인이 필요합니다.
https://www.w3schools.com/howto/howto_js_countdown.asp
</p>
<p><!-- Display the countdown timer in an element -->
<p id="demo"></p>
<script>
// Set the date we're counting down to
var countDownDate = new Date("Jan 5, 2030 15:37:25").getTime();
// Update the count down every 1 second
var x = setInterval(function() {
// Get today's date and time
var now = new Date().getTime();
// Find the distance between now and the count down date
var distance = countDownDate - now;
// Time calculations for days, hours, minutes and seconds
var days = Math.floor(distance / (1000 * 60 * 60 * 24));
var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
var seconds = Math.floor((distance % (1000 * 60)) / 1000);
// Display the result in the element with id="demo"
document.getElementById("demo").innerHTML = days + "d " + hours + "h "
+ minutes + "m " + seconds + "s ";
// If the count down is finished, write some text
if (distance < 0) {
clearInterval(x);
document.getElementById("demo").innerHTML = "EXPIRED";
}
}, 1000);
</script></p>
<p>
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
리스트 페이지라면 for 문 안에서 돌리면서 span 의 아이디를 게시물별로 리네임하거나 또는 클래스 처리하면 될 것입니다.
그리고 남은 시간 계산에는 자바스크립트에서 셋인터벌이 필요하므로 php 에서 단순정보만 받아서 자바스크립트 위주로 코드를 짜야지 php 위주로 코드를 짜면 굉장히 비효율적입니다.^^
저는 여기까지요.^^
답변에 대한 댓글 1개
열심히 공부하겠습니다
댓글을 작성하려면 로그인이 필요합니다.
https://wittazzurri.com/editor/html_editor.php 에서 확인해 보셈
자세한 사용법 - https://sir.kr/g5_tip/18467
</p>
<p><link href="<a href="https://fonts.googleapis.com/css2?family=Lato&display=swap"" target="_blank" rel="noopener noreferrer">https://fonts.googleapis.com/css2?family=Lato&display=swap"</a> rel="stylesheet">
<style>
#countSpan { font-family:Lato; font-weight:bold; font-size:4rem; }
#countSpan span { font-size:2rem; }
</style>
<script>
targetTime = "2024-12-25-13:30:00";
document.write("<span id='countSpan'></span>");
targetCount = targetTime.split("-")[1] + "-" + targetTime.split("-")[2] + "-" + targetTime.split("-")[0] + "-" + targetTime.split("-")[3];
function countInterval() {
countTime = new Date(targetCount) - new Date();
countDay = Math.floor(countTime / (1000 * 60 * 60 * 24)) < 1 ? "" : Math.floor(countTime / (1000 * 60 * 60 * 24)) + "<span>일</span> ";
countHour = ("0" + Math.floor(countTime % (1000 * 60 * 60 * 24) / (1000 * 60 * 60))).slice(-2) + ":";
countMinute = ("0" + Math.floor(countTime % (1000 * 60 * 60) / (1000 * 60))).slice(-2) + ":";
countSecond = ("0" + Math.floor(countTime % (1000 * 60) / 1000)).slice(-2);
if (countTime < 1) {
countSpan.innerHTML = "이벤트 종료";
clearInterval(countMode);
}
else countSpan.innerHTML = countDay + countHour + countMinute + countSecond;
}
countInterval();
countMode = setInterval(countInterval, 1000);
</script></p>
<p>
답변에 대한 댓글 1개
php로 만들것과 똑같이 멈춘상태에서 출력이 됩니다.
그리고 게시물리스트에서 맨위의 게시물에만 출력이 되네요.
게시물 리스트에서 각 게시물마다 남은 시간이 실시간으로 표시되어야 합니다.
실질적으로 일이랑 시간까지는 실시간으로 표시가 안돼도 되는데 분이랑 초는 실시간으로 나와야해서..
else if ($years==0&&$date==0&&$hours==0)
echo ".$min."분 ".$sec."초</font>";
이부분을 활용해서 분이랑 초만 어떻게 실시간으로 표시할수 없을까요?
1초마다 -씩만 해주면 될거같은데 실시간으로 시간이 가도록.,.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
근데 이것도 위에분처럼 상단 게시물에만 카운트다운이 적용됩니다. 시간은 잘가는데..
그리고 시간도 맨 하단에 있는 게시물에 맞춰져서 카운트가 적용됩니다..
맨위 게시물의 wr2값이 1시간50분이고 맨뒤의 wr2갑시 1시간 30분이면
1시간 30분의 값이 맨위의 게시물에만 적용되고 다른게시물에는 적용되지가 않습니다 ㅠㅠ
게시물 리스트가 갤러리형인데 갤러리형이라서 그런건지..