document 对象的 clear() 方法类似于清屏,但它不是一种推荐的方法,因此许多浏览器也不支持这个方法。那么有没有什么替代的方案?答案是:完整的输出。
在我们通常所用的 document.write() 语句,它可以清除当前浏览器窗口中的所有内容,并输出一行文字,但这是个省略的写法。一个清除当前浏览器窗口中所有的内容,并输出一行文字的完整写法如下:
[Plain Text] 纯文本查看 复制代码 document.open();
document.write("hello");
document.close();
上面的代码,首先使用 open() 方法打开一个文档流。通常只有在一个新文档中才需要使用 open() 方法来打开文档流。如果在使用 open() 方法之前文档中已经有了显示的内容,那么 open() 方法会先清除这些内容。清除文档的内容还可以用上述的 clear() 方法,但该方法是不建议使用的,因此许多浏览器也不支持它。
当打开文档流后,就可以使用 write() 或 writeln() 方法在文档中输出文字。
在使用 wirte() 或 writeln() 方法输出文字后,使用 close() 方法关闭文档流。
close() 方法有两个作用:显示已经写入到文档流中但还没有在浏览器窗口中显示的内容、关闭文档流。如果不使用 close() 方法关闭文档流,那么可能会出现下面两种情况:
浏览器将文档流放在缓存中而没有显示应该输出的内容。
文档流一直打开着,浏览器可能不能显示其他动态的内容。
下面这个例子,演示了一个文字闪烁替换的效果:
<html>
<head>
<title>文字交替</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<script type="text/javascript" language="javascript">
<!--
var str = "欢迎访问曲径通幽论坛";
var str2 = "welcome to Groad.net";
var flag = 0;
function showText()
{
if (flag == 1)
{
flag = 0;
document.open();
document.write(str);
document.close();
}
else
{
flag = 1;
document.open();
document.write(str2);
document.close();
}
window.setTimeout("showText()", 1000);
}
-->
</script>
</head>
<body onLoad="showText()">
</body>
</html>
这个例子可以实现两个字符串的交替闪烁显示。 |