曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 4299|回复: 0
打印 上一主题 下一主题

完整的输出,用以取代 document.clear() ,清屏

[复制链接]

716

主题

734

帖子

2946

积分

超级版主

Rank: 9Rank: 9Rank: 9

积分
2946
跳转到指定楼层
楼主
发表于 2013-4-24 20:33:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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>
这个例子可以实现两个字符串的交替闪烁显示。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2024-4-30 03:10 , Processed in 0.082009 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表