这里是一个很好的解决方案,将作为指定的,直到它的高度是从内容中删除单个字符:
var maxHeight = 70;
var limiter = document.getElementById("limiter");
var height = limiter.clientHeight;
var content = limiter.innerText;
alert("Original Content:\n" + content);
var count = 0;
while (height > maxHeight && count < 100) {
count++;
content = content.substring(0, content.length - 1);
limiter.innerText = content + " more...";
height = limiter.clientHeight;
}
alert("Adjusted Content:\n" + content);
var html = limiter.innerHTML;
alert("Final HTML:\n" + html);
的count
是那里只是为了避免陷入无限循环,以防万一。没有必要。
小提琴:http://jsfiddle.net/38p8hhve/
没有针对此不完美的解决方案,但你可以指望换行,并让一个换行符计数X字母。 – kba 2015-01-26 20:18:07