我的网站上有一个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我的左下角有一条“测试”消息,但|
不会闪烁。
非常感谢。
答案 0 :(得分:3)
textarea不能包含HTML,所以你在那里运气不好。既然你没有真正使用textarea输入,为什么要使用textarea呢?改为使用div,并适当修改代码。
答案 1 :(得分:0)
textarea
的内容只是文本,因此忽略所有标记(作为文本数据)。所以你可以让整个内容闪烁,但不仅仅是它的一部分。
当您不期望用户输入时,使用textarea是不合逻辑且毫无意义的。您可以使用pre
元素,其中可以识别标记,但原则上只允许使用一组有限的标记,但您可以在那里使用blink
或样式span
。或者,使用具有合适样式的p
或div
,例如white-space: pre
。