求高人指点javascript,问题简单
<script type="text/javascript">
function TimeTo(dd){
var t = new Date(dd),
n = new Date().getTime(),
c = t - n;
if(c<=0){
document.getElementById("timer").innerHTML ='作业已关闭';
clearInterval(window['ttt']);
return;
}
var ds = 60*60*24*1000,
d = parseInt(c/ds),
h = parseInt((c-d*ds)/(3600*1000)),
m = parseInt((c - d*ds - h*3600*1000)/(60*1000)),
s = parseInt((c-d*ds-h*3600*1000-m*60*1000)/1000);
document.getElementById("timer").innerHTML = d+'</b>天<b>'+h+'</b>小时<b>'+m+'</b>分<b>'+s+'</b>秒';
}
(function(){
window['ttt']=setInterval(function(){
var v = document.getElementById("settime").value;
TimeTo(v);
},1000);
})();
</script>
<input name="settime" type="hidden" id="settime" value="<%=(rs("day")+rs("limit"))%>"/>
<div id="timer" class="day">计算中…</div>
这段代码,在本机测试有效364天23小时28分5秒
,上传服务器却显示的是NaN天NaN小时NaN分NaN秒
求指点,后台用的asp
追问:大神,我按照您的方法修改之后,在本地测试,已经不显示时间了?具体是怎么回事哦?他显示语法错误……是的,改成单引号会说语法错误辛苦你了,是这样的,我在本机测试是有效的,但是上传服务器就失效了,不知道原因,rs是可以读出正确的数据的,我都单独试过请问怎样取得呢?高人,虽然我很努力了,但是还是没能解决这个问题,是我知识欠缺,还请高人给个代码,劳烦。我是这么做的,但是没有效果
var v = document.getElementById("settime").value;
var w = document.getElementById("now").value;(now 里边的值是<%=now()%>)
TimeTo(v,w);
function TimeTo(dd,ee){
var t = new Date(dd),
n = new Date(ee),
答案:我看了看,你的代码有点乱,我改好了你复制就可用了,input一定要在javascript代码的上面。
<input name="settime" type="hidden" id="settime" value="<%= rs("day")+rs("limit") %>" />
<script type="text/javascript">
if (document.images){
parselimit=document.all.settime.value;//剩余总秒数
}
function beginrefresh(){
if (!document.images)
return;
if (parselimit<1){
document.getElementById("timer").innerHTML="<font color='#ff0000'>作业已关闭</font>";
}
else{
parselimit-=1
curday=Math.floor(parselimit/60/60/24);
curhour=Math.floor(parselimit/60/60);
curmin=Math.floor(parselimit/60);
curhour=curhour%24;
curmin=curmin%60;
cursec=parselimit%60;
//window.status=curtime;
document.getElementById("timer").innerHTML="<b>"+curday+"</b>天<b>"+curhour+"</b>小时<b>"+curmin+"</b>分<b>"+cursec+"</b>秒";
setTimeout("beginrefresh()",1000);
}
}
window.onload=beginrefresh;
</script>
<div id="timer" class="day">计算中…</div>
其他:我不知道是不是这个错误,但是
n = new Date().getTime(),
应该是
n = (new Date()).getTime(),
而且
parseInt(c/ds),
最好这样写
parseInt(c/ds,10),
因为有时候它默认用了八进制或者十六进制 <input name="settime" type="hidden" id="settime" value="<%=(rs('day')+rs('limit'))%>"/>
没有获得值
(上面这句话里面的单引号是我改过的) var t = new Date(dd),
取不到服务器的时间,在本地取得到当前时间
你写的JS取不到服务器时间 时间格式要转换的
上一个:javascript split 字符串 转成数组,反着 来有没有一个方法?? 就是数组转成字符串
下一个:javascript怎样调用远程的php代码? 网页代码和php代码分别放在两台服务器上,怎么通过JS调用php?