曲径通幽论坛

标题: 完整的输出,用以取代 document.clear() ,清屏 [打印本页]

作者: easy    时间: 2013-4-24 20:33
标题: 完整的输出,用以取代 document.clear() ,清屏
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>
这个例子可以实现两个字符串的交替闪烁显示。




欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/) Powered by Discuz! X3.2