在textarea字段中闪烁文本

时间:2012-11-19 06:50:28

标签: javascript html

我的网站上有一个404页面的文本区域,是从网络服务器到用户的独白。本文使用|字符来表示独白中的“光标”位置。不幸的是,这个角色不会眨眼。在谷歌上搜索http://en.wikipedia.org/wiki/Blink_element#Implementation之后,我尝试将其添加到页面中,但是当我将标记放在|周围时,它会显示为文字而不是被解释。

显示文字的功能是

      function type_text()
  {
    contents='';
    row=Math.max(0,index-7);
    while(row < index)
    {
      contents += tl[row++] + '\r\n';
    }
    document.forms[0].elements[0].value = contents + tl[index].substring(0,text_pos) + "<blink>|</blink>";
    if(text_pos++==str_length)
    {
      text_pos=0;
      index++;
      if(index!=tl.length)
      {
        str_length=tl[index].length;
        setTimeout("type_text()",1500);
      }
    } else
      setTimeout("type_text()",speed);
  }

这当然是在Javascript中。

我用它来编写<blink>代码的脚本:

function blink() 
{
    var blinks = document.getElementsByTagName('blink');
    for (var i = blinks.length - 1; i >= 0; i--) 
    {
        var s = blinks[i];
        s.style.visibility = (s.style.visibility === 'visible') ? 'hidden' : 'visible';
    }
window.setTimeout(blink, 500);
 }

  if (document.addEventListener) document.addEventListener("DOMContentLoaded", blink, false);
  else if (window.addEventListener) window.addEventListener("load", blink, false);
  else if (window.attachEvent) window.attachEvent("onload", blink);
  else window.onload = blink;

如果它有帮助,可以在此处找到我的页面:http://paradoxwow.com/404.shtml我的左下角有一条“测试”消息,但|不会闪烁。

非常感谢。

2 个答案:

答案 0 :(得分:3)

textarea不能包含HTML,所以你在那里运气不好。既然你没有真正使用textarea输入,为什么要使用textarea呢?改为使用div,并适当修改代码。

答案 1 :(得分:0)

textarea的内容只是文本,因此忽略所有标记(作为文本数据)。所以你可以让整个内容闪烁,但不仅仅是它的一部分。

当您不期望用户输入时,使用textarea是不合逻辑且毫无意义的。您可以使用pre元素,其中可以识别标记,但原则上只允许使用一组有限的标记,但您可以在那里使用blink或样式span。或者,使用具有合适样式的pdiv,例如white-space: pre