求助,为什么下面的javascript代码,不能每个一段时间刷新时间.
function method(){
var d = new Date();
document.write(d.toLocaleString());
}
window.onload = function(){
window.setInterval("method()",1000);
};
本人在火狐,opera ,ie都试了,都不行求教
------解决方案--------------------document.write()一般只在页面加载完成之前使用。
当页面加载完成之后,就不要用document.write()了
再用document.write()就是重新创建一个新的页面。
这时应该用.innerHTML或.innerText。
------解决方案--------------------改成appendChild即可,如下代码:
function addElem(){
var d = new Date();
var div = document.createElement("div");
div.innerHTML = d.toLocaleDateString();
document.body.appendChild(div);
}
window.onload = function(){
window.setInterval(addElem,1000);
}
------解决方案--------------------整个文档的加载是一个 流
document。write 直接作用于这个流
在onload之后 流被关闭了
当你再次调用 write则开启了新的流
那么整个document被重写 并重新渲染
这个时候 你整个页面 只有 d.toLocaleString() 的值
以前的脚本标签什么的全没了