Jeg ville nok foreslå at du proppede en <input>-textbox ind i en div så. :/
Hvis du SKAL skrive det direkte ud i en div, kan du bruge innerHTML, dog med det forbehold at det ikke er valid XHTML som er blevet diskuteret så mange gange her på eksperten. Faktum er at den kan bruges og er browser uafhænging, den betragtes bare som noget rod (bla. fordi den overskriver javascript referencer til elementer).
Så hvis du erstatter alle elmOut.value med elmOut.innerHTML og kalder 'generateString' med et id på en div skriver den "hej med dig" strengen direkte ud i <div>-tag'en. Jeg har for god ordens skyld eksemplificeret det nendenfor:
<html xmlns="
http://www.w3.org/1999/xhtml"> <head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script type="text/JavaScript">
var speed = 70;
var arrLetters = new Array(' ', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'æ', 'ø', 'å');
function generateString(outputId, strText)
{
generate(outputId, strText, 0, 0);
}
function generate(elmId, strText, index, aIndex)
{
if(index >= arrLetters.length)
return;
var elmOut = document.getElementById(elmId);
if(strText.charAt(index) == arrLetters[aIndex] || strText.charAt(index) == arrLetters[aIndex].toUpperCase())
{
if(index > 0)
elmOut.innerHTML = elmOut.innerHTML.substring(0, index) + strText.charAt(index);
else
elmOut.innerHTML = strText.charAt(index);
if(index + 1 >= strText.length)
return;
aIndex = 0;
index++;
}
else
{
if(index > 0)
elmOut.innerHTML = elmOut.innerHTML.substring(0, index) + arrLetters[aIndex];
else
elmOut.innerHTML = arrLetters[aIndex];
aIndex++;
}
setTimeout("generate('" + elmId + "', '" + strText + "', " + index + ", " + aIndex + ")", speed);
}
</script>
</head>
<body>
<table>
<tr>
<td style="width: 100px;">Letters:</td>
<td></td>
</tr>
<tr>
<td colspan="2"><input type="button" value="Click to start dynamic letters" onclick="generateString('output', 'Hej med dig');" /></td>
</tr>
<tr>
<td>
<div id="output"></div>
</td>
</tr>
</table>
</body>
</html>
:) Håber du var det du mente!
Mvh.
- Snap