setinterval只执行一次就停了(setinterval无法停止)
javascript setInterval 失效 问题 ?
???window.timer=setInterval(demo,1000);
???或者这样
???window.timer=setInterval("demo()",1000);
js中为什么setinterval不执行
因为你把setInterval()写在window.onload函数里了,而window.onload只会执行一次,所以它里面的函数,也只会执行一次。
提示两点:
1、setInterval尽量使用匿名方法。
2、这种现实当前时间的,一般用半秒执行一次,这样能避免打开网页不在整秒的问题。
jsp 打开页面后setTimeout("clo()",1000);执行一次就不再执行了
完全错误,有3点错误
1 setTimeout("clo()",1000);放到方法里边一个,或者用setInterval
2 txt.value 写法不兼容
3 最要命的一点是,这句
%
out.print("txt.value="+"'"+sdf.format(new Date())+"'");
%
你不要以为每次循环这句话就会执行一次,这是不可能的,服务器端只会执行一次,用js的
new Date()代替
setInterval()在firefox和ie中只显示一次执行结果,chrome中正常
您好!很高兴为您答疑。
因为document.write在文档流关闭后再使用时会重新刷新页面,当document.write在一个function里时每次执行到document.write都会重新刷新页面。
您可以将代码改为:
head
/head
body
script type="text/javaScript"
function printTime(){
var now = new Date();
var hours = now.getHours();
var minutes = now.getMinutes();
var seconds = now.getSeconds();
//document.write(hours+":"+minutes+":"+seconds+"br /");
console.log(seconds);
}
setInterval(printTime,1000);
/script
/body
/html
然后看下控制台打印的信息就明白啦。
如果对我们的回答存在任何疑问,欢迎继续问询。
setInterval()为什么只执行一次
只需要写abc,不需要写abc().后面的括号不需要。如果要加括号,需要加上引号'abc()'