JS 的setInterval不能自动刷新

<SCRIPTLANGUAGE="JavaScript">function_fresh(id){varendtime=newDate("2011/8/05,12:20:1... <SCRIPT LANGUAGE="JavaScript">
function _fresh(id)
{var endtime=new Date("2011/8/05,12:20:12");
var nowtime = new Date();
var leftsecond=parseInt((endtime.getTime()-nowtime.getTime())/1000);
_d=parseInt(leftsecond/3600/24);
__h=parseInt((leftsecond/3600)%24);
__m=parseInt((leftsecond/60)%60);
__s=parseInt(leftsecond%60);
document.getElementById("time_"+id).innerHTML=__d+"天 "+__h+"小时"+__m+"分"+__s+"秒";
if(leftsecond<=0){
document.getElementById("time_"+id).innerHTML="抢购已结束";
clearInterval(sh); }}
</SCRIPT>
html部分
<DIV class="l title" style="color:#000">距离团购结束还有1:<BR><SPAN id="time_[field:id/]"></SPAN></DIV>
<SCRIPT LANGUAGE="JavaScript">
_fresh(123);
var sh;
sh=setInterval(_fresh("123"),1000);
</SCRIPT>
:<BR><SPAN id="time_[field:id/]"></SPAN></DIV>
改为:<BR><SPAN id="time_123"></SPAN></DIV>
展开
 我来答
shine戚七七
推荐于2016-11-14 · TA获得超过4.7万个赞
知道大有可为答主
回答量:2万
采纳率:75%
帮助的人:2666万
展开全部
setInterval动作的作用是在播放动画的时,每隔一定时间就调用函数,方法或对象。可以使用本动作更新来自数据库的变量或更新时间显示。setInterval动作的语法格式如下:
setInterval(function,interval[,arg1,arg2,......argn])
setInterval(object,methodName,interval[,arg1,arg2,.....argn])
第一种格式是标准动作面板中setInterval函数的默认语法,第二种格式是在专家模式动作中使用的方法。
其中的参数function是一个函数名或者一个对匿名函数的引用。object参数指定从Object对象派生的对象。methodName制定 object参数中要调用的方法。
interval制定对function或methodName调用两次之间的时间,单位是毫秒。后面的arg1等是可选的参数,用于制定传递给function或是methodName的参数。
setInterval它设置的时间间隔小于动画帧速(如每秒10帧,相当于100毫秒),则按照尽可能接近interval的时间间隔调用函数。
而且必须使用updateAfterEvent动作来确保以足够的频率刷新屏幕。如果interval大于动画帧速,则只用在每次播放头进入某一帧是才调用,以减小每次刷新屏幕的影响。
zzqkillyou
推荐于2018-05-04 · TA获得超过1091个赞
知道小有建树答主
回答量:942
采纳率:0%
帮助的人:745万
展开全部
<SCRIPT LANGUAGE="JavaScript">
function _fresh(id)
{
var endtime=new Date("2011/8/05,12:20:12");
var nowtime = new Date();
var leftsecond=parseInt((endtime.getTime()-nowtime.getTime())/1000);
var _d=parseInt(leftsecond/3600/24);

var __h=parseInt((leftsecond/3600)%24);
var __m=parseInt((leftsecond/60)%60);
var __s=parseInt(leftsecond%60);
//var ss = _d+"天 "+__h+"小时"+__m+"分"+__s+"秒";
document.getElementById("time_"+id).innerHTML=_d+"天 "+__h+"小时"+__m+"分"+__s+"秒";
if(leftsecond<=0){
document.getElementById("time_"+id).innerHTML="抢购已结束";
clearInterval(sh);
}

}
</SCRIPT>
html部分
<DIV class="l title" style="color:#000">距离团购结束还有1:<BR><SPAN id="time_123"></SPAN></DIV>
<SCRIPT LANGUAGE="JavaScript">
var sh;

sh=setInterval(function(){_fresh(123);},1000);
</SCRIPT>

最后一句这样写也行:sh=setInterval("_fresh(123)",1000);
你那种写法是错误的!
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liqiangqiang81
2011-07-06
知道答主
回答量:8
采纳率:0%
帮助的人:3.6万
展开全部
<html>
<head>
<title></title>
</head>
<SCRIPT LANGUAGE="JavaScript">
function _fresh(id)
{var endtime=new Date("2011/8/05,12:20:12");
var nowtime = new Date();
var leftsecond=parseInt((endtime.getTime()-nowtime.getTime())/1000);
_d=parseInt(leftsecond/3600/24);
_h=parseInt((leftsecond/3600)%24);
_m=parseInt((leftsecond/60)%60);
_s=parseInt(leftsecond%60);
document.getElementById(id).innerHTML=_d+"天 "+_h+"小时"+_m+"分"+_s+"秒";
if(leftsecond<=0){
document.getElementById(id).innerHTML="抢购已结束";
}}
</SCRIPT>
<body>
<DIV style="color:#000000">距离团购结束还有<BR><SPAN id="time"></SPAN></DIV>
<SCRIPT LANGUAGE="JavaScript">
_fresh("time");
setInterval("_fresh('time')",1000);
</SCRIPT>
</body>
</html>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式