Jens W.: textlänge ermitteln

Beitrag lesen

Hallo Marco,

Danke für die schnelle Antwort.
Ich hab deine Lösung mal ausprobiert, sie funktioniert sehr gut!

Hier mal ein Beispiel - auch für andere zum Ausprobieren :)
(getestet mit IE6.0, NS6.0, NS7.02)

http://www.zoov.de/test/textlaenge.html

<html>
<body>
<font style="font-size:9; position:relative; top:5; left:90">200 px</font><br>
<hr style="width:200" align=left>
<nobr id="TextContent">Dies ist ein ziemlich langer Testtext, der auf 200px Länge gekürzt werden soll.</nobr><br>
<br>
<input type=button value=kürzen onclick=buttonclick()></input>
<script>
function buttonclick()
{
 if(getTextLength()>200)
 {
  while(getTextLength()>188) //maximal verfügbare breite - Textlänge von "..."
  document.getElementById("TextContent").innerHTML=cut();
  document.getElementById("TextContent").innerHTML=document.getElementById("TextContent").innerHTML+"...";
 }
}

function cut()
{
 return document.getElementById("TextContent").innerHTML.substr(0, document.getElementById("TextContent").innerHTML.length - 1);
}

function getTextLength()
{
 return document.getElementById("TextContent").offsetWidth;
}
</script>
</body>
</html>