Javascript时间问题
Javascript time issue
我有这个代码:
<script type="text/javascript">
var currenttime = '<? print date("F d, Y H:i:s", time()) ?>'
var montharray=new Array("January","February","March","April","May","June","July","August","September","October","November","December")
var serverdate=new Date(currenttime)
function padlength(what){
var output=(what.toString().length==1)? "0"+what : what
return output
}
function displaytime(){
serverdate.setSeconds(serverdate.getSeconds()+1)
var datestring=montharray[serverdate.getMonth()]+" "+padlength(serverdate.getDate())+", "+serverdate.getFullYear()
var timestring=padlength(serverdate.getHours()+1)+":"+padlength(serverdate.getMinutes())+":"+padlength(serverdate.getSeconds())
var minleft=60-serverdate.getMinutes()
var secleft=60-serverdate.getSeconds()
var houleft=24-serverdate.getHours()+1
var newenergyin=padlength(minleft)+":"+padlength(secleft)
var gainin=padlength(houleft)+":"+padlength(minleft)+":"+padlength(secleft)
document.getElementById("servertime").innerHTML=timestring
document.getElementById("moreenergy").innerHTML=newenergyin
document.getElementById("inter").innerHTML=gainin
}
window.onload=function(){
setInterval("displaytime()", 1000)
}
</script>
我的有问题
document.getElementById("inter").innerHTML=gainin
代码的一部分。如果我做
<span id='inter'></span>
它不想工作,但我用做的前一个
document.getElementById("moreenergy").innerHTML=newenergyin
工作非常好。
我做错了什么?!我只想显示午夜倒计时,倒计时到下一个小时效果良好:S
HTML:
<td><center><b>- Currency -</b></center>Credits: <a href='main.php?id=depcre'>0</a>
<br>Platinum: <font color='orange'>46</font><br>Waste Magic: <font color='orange'>48</font>
<br>Copper: <font color='orange'>49</font><br>Silver: <font color='orange'>48</font>
<br>Gold: <font color='orange'>47</font><br><br>Bank: <a href='main.php?id=witcre'>841</a>
<Small> (<font color='orange'>0.25%</font> IGDA)</small><br>Interest Gain In: <font color='orange'><span id='inter'></span></font></td>
好的,整个HTML:
<script type="text/javascript">
var currenttime = '<? print date("F d, Y H:i:s", time()) ?>'
var montharray=new Array("January","February","March","April","May","June","July","August","September","October","November","December")
var serverdate=new Date(currenttime)
function padlength(what){
var output=(what.toString().length==1)? "0"+what : what
return output
}
function displaytime(){
serverdate.setSeconds(serverdate.getSeconds()+1)
var datestring=montharray[serverdate.getMonth()]+" "+padlength(serverdate.getDate())+", "+serverdate.getFullYear()
var timestring=padlength(serverdate.getHours()+1)+":"+padlength(serverdate.getMinutes())+":"+padlength(serverdate.getSeconds())
var minleft=60-serverdate.getMinutes()
var secleft=60-serverdate.getSeconds()
var houleft=24-serverdate.getHours()+1
var newenergyin=padlength(minleft)+":"+padlength(secleft)
var gainin=padlength(houleft)+":"+padlength(minleft)+":"+padlength(secleft)
document.getElementById("servertime").innerHTML=timestring
document.getElementById("moreenergy").innerHTML=newenergyin
document.getElementById("inter").innerHTML=gainin
}
window.onload=function(){
setInterval("displaytime()", 1000)
}
</script>
<tr>
<td><center><b>- Stats [<a href='main.php?id=<?php echo $page;?>'>Refresh</a>] -</b></center>Level: <font color='orange'><?php echo $GETVAR[PL_LEVL]; ?></font><br>Experience: <font color='orange'><?php echo $GETVAR[PL_CUREXP]; ?></font>/<font color='orange'><?php echo $GETVAR[PL_NEXEXP]; ?></font><br>Energy: <font color='orange'><?php echo $GETVAR[PL_CURENG]; ?></font>/<font color='orange'><?php echo $GETVAR[PL_NEXENG]; ?></font><br>Skill: <font color='orange'><?php echo $GETVAR[PL_SKILL]; ?></font><br>HP: <font color='orange'><?php echo $GETVAR[PL_CURHP]; ?></font>/<font color='orange'><?php echo $GETVAR[PL_MAXHP]; ?></font><br>Hit Rate: <font color='orange'><?php echo $GETVAR[PL_HITRATE]; ?></font><br>
<?php
$cureng = $GETVAR['PL_CURENG'];
$nexeng = $GETVAR['PL_NEXENG'];
$curhit = $GETVAR['PL_CURHP'];
$maxhit = $GETVAR['PL_MAXHP'];
if(($cureng == $nexeng) && ($curhit == $maxhit))
{
echo "<br>";
}else
{
echo "Energy and HP Increase in: <font color='orange'><span id='moreenergy'></span> </font>";
}
?></td>
</tr>
<tr>
<td><center><b>- Currency -</b></center>Credits: <a href='main.php? id=depcre'><?php echo $GETVAR[PL_CRED]; ?></a><br>Platinum: <font color='orange'><?php echo $GETVAR[PL_PLAT]; ?></font><br>Waste Magic: <font color='orange'><?php echo $GETVAR[PL_WAMA]; ?></font><br>Copper: <font color='orange'><?php echo $GETVAR[PL_COPP]; ?> </font><br>Silver: <font color='orange'><?php echo $GETVAR[PL_SILV]; ?></font><br>Gold: <font color='orange'><?php echo $GETVAR[PL_GOLD]; ?></font><br><br>Bank: <a href='main.php? id=witcre'><?php echo $GETVAR[PL_BANK]; ?></a><Small> (<font color='orange'><?php echo $GETVAR[PL_INTR]*10;?>%</font> IGDA)</small><br>Interest Gain In: <font color='orange'> <span id='inter'></span></font></td>
</tr>
<tr>
<td><center><b>- You -</b></center>
<a href='main.php?id=news'>News</a><br>
<a href='main.php?id=yourhome'>Your Home</a><br>
<a href='main.php?id=yourmage'>Your Mage</a><br>
<a href='main.php?id=puppets'>Your Puppets</a><br>
<a href='main.php?id=enchants'>Your Enchants</a><br>
<a href='main.php?id=clan'>Your Clan</a><br>
<a href='main.php?id=pm'>Mailbox</a></td>
</tr>
<tr>
<td height=100%> <center><b>- Navigation -</b></center>
<a href='main.php?id=townarea'>Town of Tolbart</a><br>
<a href='main.php?id=skilupgr'>Skill Upgrades</a><br>
<a href='main.php?id=colloseu'>Colloseum</a><br>
<a href='main.php?id=wastmagi'>Waste Magic Center</a><br>
<a href='main.php?id=field'>Field</a><br>
<a href='main.php?id=market'>Market</a><br>
<a href='main.php?id=gather'>Gathering</a><br>
<a href='main.php?id=darkmagi'>Dark Magic Workshop</a><br>
<a href='main.php?id=research'>Research Facility</a><br> <br>
<a href='main.php?id=logout'>Log Out</a>
<br>Game Time: <span class="servertime" id="servertime"></span>
</td>
</tr>
我已经从问题中删除了所有php,使其更加简单。看来您的java脚本运行良好。
你可以看到它在我的js fiddle 上运行
注:
您可以使用javascript Date()类,而不是从php获取日期。
同时尽量不要在setInterval中使用字符串(setInterval对字符串使用eval)。尝试使用以下
setInterval(function(){displaytime()},1000)
相关文章:
- Moment/Jquery-一个简单时间线的愚蠢问题
- 这个正则表达式的日期/时间有什么问题
- 当出现多个字段时,jquery时间条目问题
- Javascript时间函数问题
- Ruby(rails)时间戳和jQuery timeago插件出现问题
- 如何使用警报进行调试来解决(未定义的)时间问题
- 淘汰计算与订阅、时间问题
- 显示学校班级的剩余时间时遇到问题
- Highchart:从 java 传递系列映射时绘制日期时间图表问题
- flot 绘制时间戳问题
- 在 javascript 中比较字符串与日期时间的问题
- 日期时间本地化问题与时间
- JavaScript 加载重置时间戳循环问题
- 日期列中的剑道网格格式时间问题
- 原生质日期选择器:不同日期时间格式的问题
- 选择中时间重叠的问题
- 日期时间计算问题
- 时间格式的 JavaScript 正则表达式验证问题
- 使用模式的 HTML5 时间验证问题
- Javascript 调试 - addEventListeners - 点击事件陷入时间问题