Hallo Nitram,
Dort erzeugst du nun entweder <http://de.selfhtml.org/javascript/objekte/document.htm#create_element@title=ein neues Element> und http://de.selfhtml.org/javascript/objekte/node.htm#append_child@title=hängst es in das Dokument ein, oder http://de.selfhtml.org/javascript/objekte/document.htm#get_elements_by_tag_name@title=greifst auf ein bestehendes zu.
Hat wunderbar funktioniert! :)
> <script type="text/javascript">
> hallo = new Array("h","a","l","l","o");
> alange = hallo.length;
> aktiv = window.setInterval('schleife()',50);
> var i = 0;
> function schleife()
> {
> mySpan = document.createElement("span");
> myText = document.createTextNode(hallo[i]);
> mySpan.appendChild(myText);
> mybereich = document.getElementById("bereich");
> mybereich.appendChild(mySpan);
>
> i = i + 1;
> if(i==alange)window.clearInterval(aktiv);
> }
> </script>
Da finde ich Mathias' zweiten Vorschlag, auf ein bestehendes Element zuzugreifen und dessen innerHTML zu verändern besser. Warum mehr Elemente erzeugen als nötig?
Werde das noch etwas verfeinern
Wie wär es so?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Telex</title>
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<style type="text/css">
[code lang=css]
.telex {
font:bold 1.5em "Courier New", Courier, monospace;
}
</style>
<script type="text/javascript">
function telex () {
var myPs = document.getElementsByTagName('P');
if(myPs[myPs.length-1].className == 'telex') {
var myTelex = myPs[myPs.length-1];
myTelex.copy = myTelex.innerHTML;
myTelex.innerHTML = '';
myTelex.typer = function () {
with(myTelex)
if(copy) {
innerHTML += copy.slice(0, 1);
copy = copy.slice(1, copy.length);
} else window.clearInterval(typing);
}
myTelex.typing = window.setInterval(myTelex.typer, 40);
}
}
</script>
</head>
<body>
<p class="telex">Das ist ein Text, der nur bei aktiviertem Javascript
wie auf einem guten alten Fernschreiber Buchstabe für Buchstabe
erscheint und ansonsten von vornherein dasteht.</p>
<script type="text/javascript">telex();
</script>
<p>Hier steht ein ganz anderer Text.</p>
<p class="telex">Hier kommt nochmal ein anderes Geticker.</p>
<script type="text/javascript">telex();
</script>
</body>
</html>[/code]
Gruß Gernot