我试图确保显示一个单词时,它会一个字母一个字母地显示。但是,这不起作用。而且我一直在出错。
我已经查看过StackOverflow,看是否还有其他人遇到与我相同的问题。有些人有相同的目标,但是,我找不到任何有相同问题的人。我用于实现此目标的编程语言是JavaScript。
代码:
<script type="text/javascript"><![CDATA[
document.documentElement.addEventListener('load',function(evt){
alert('OK');
},false);
var text = 'dog';
var curr = "";
var Write = function write(){
var elem = document.getElementById('cls-3');
elem.textContent += text.charAt(curr);
curr++;
if (curr < text.length)
window.setTimeout(write, 20);
};
Write();
]]></script>
错误:
Logo_infomaatje.svg?version = 3613:51未捕获的TypeError:无法读取 属性'textContent'为null 写时(Logo_infomaatje.svg?version = 3613:51) 在Logo_infomaatje.svg?version = 3613:56
使用此代码,我期望“狗”一词会被逐字拼写出来。不幸的是,这没有发生。我希望我提供了足够的信息。
问候,
Parsa237
答案 0 :(得分:0)
正如Stefan在评论中所说,我认为在执行行var elem = document.getElementById('cls-3');
时,html中没有cls-3
元素。
也许永远不会创建此元素,或者可能在创建此元素之前执行了JavaScript代码。
根据您的代码,Write()
被立即调用,而不是等待DOM加载事件。您应该尝试这样做:
document.documentElement.addEventListener('load',function(evt){
alert('OK');
Write();
},false);