如果内容太宽提到如何在 HTML 内容中插入省略号,则在 HTML 标记中插入省略号 (...) 。此解决方案有效,但我发现当它应用于大型数据集(想象 1,000 个 div)时,它往往会变得非常慢。
我的 JSFiddle演示了这个问题。将我设置的变量 (numberOfDivs) 从 10 更改为 100 会显着增加输出结果所需的时间。将此数字从 100 更改为 1000,会导致 Chrome 想要终止该页面。
似乎 Jquery 的解决方案,以及我见过的其他解决方案,都涉及使用文本填充 DOM 中的元素(我相信我使用的 Jquery 插件做了类似的事情,对于大型数据集来说似乎很昂贵)或使用功能IE7 和其他较旧的浏览器不支持 (text-wrap:ellipsis)。
在处理大量数据时,似乎任何获取element.offsetWidth
或获取昂贵的调用都是如此。element.clientWidth
有没有人发现任何优化或强大的服务器端解决方案?当我说强大的服务器端解决方案时,我的意思是考虑到文本的大小和包含 div(或其他元素)的大小。简单地做一个文本的子字符串是一种解决方案,但我不认为这很健壮。