-3
我是JavaScript新手。我正在嘗試編寫一個javascript倒計時函數,但當我將一個php變量傳遞給"var now=new Date("<?php echo $start;?>");"
時,它不起作用。它的工作原理當我僅使用"var now=new Date();"
預先感謝您。這裏是我的代碼...javascript倒計時不能正常工作
<?php
$db = new mysqli("localhost", "root", "", "ajax");
$db -> set_charset("utf8");
$query="SELECT * FROM data WHERE id=2";
$data=$db->query($query);
while ($dt=$data->fetch_assoc()) {
$start=$dt['start_time'];
$end=$dt['end_time'];
}
?>
<!DOCTYPE html>
<html>
<head>
<title> Countdown</title>
<style type="text/css">
body {
background: #f6f6f6;
}
.countdownContainer{
position: absolute;;
top: 50%;
left: 50%;
transform : translateX(-50%) translateY(-50%);
text-align: center;
background: #ddd;
border: 1px solid #999;
padding: 10px;
box-shadow: 0 0 5px 3px #ccc;
}
.info {
font-size: 80px;
}
</style>
</head>
<body>
<table class="countdownContainer">
<tr class="info">
<td colspan="4">c Countdown c</td>
</tr>
<tr class="info">
<td id="days">120</td>
<td id="hours">4</td>
<td id="minutes">12</td>
<td id="seconds">22</td>
</tr>
<tr>
<td>Days</td>
<td>Hours</td>
<td>Minutes</td>
<td>Seconds</td>
<td id="start_date"><?php echo $start;?></td>
<td id="php_date_time"></td>
</tr>
</table>
<script type="text/javascript">
function countdown(){
var now = new Date("<?php echo $start;?>");
var eventDate = new Date("<?php echo $end;?>");
// alert(now);
var currentTiime = now.getTime();
var eventTime = eventDate.getTime();
var remTime = eventTime - currentTiime;
var s = Math.floor(remTime/1000);
var m = Math.floor(s/60);
var h = Math.floor(m/60);
var d = Math.floor(h/24);
h %= 24;
m %= 60;
s %= 60;
h = (h < 10) ? "0" + h : h;
m = (m < 10) ? "0" + m : m;
s = (s < 10) ? "0" + s : s;
document.getElementById("days").textContent = d;
document.getElementById("days").innerText = d;
document.getElementById("hours").textContent = h;
document.getElementById("minutes").textContent = m;
document.getElementById("seconds").textContent = s;
setTimeout(countdown, 1000);
}
countdown();
</script>
只有
基本java腳本運行在客戶端,而php就像你知道它的一個服務器端,所以沒辦法,那javascript看到php,這就是爲什麼它不能正常工作,你可以通過傳遞php變量來解決這個問題到html(輸入),隱藏類型,像這樣http:// prntscr .com/cm5jy4 – Laith
所以發生的是,您將PHP變量傳遞給html標記,現在javascript可以讀取它們。 – Laith
@我按照你的建議做了,但現在不算倒計時:)。 –