我需要在可调整大小的元素内的文本中间实现省略号 ("..."
)。 Here是它可能的样子。所以,
"Lorem ipsum dolor sit amet. Ut ornare dignissim ligula sed commodo."
成为
"Lorem ipsum dolor sit amet ... commodo."
当元素被拉伸(stretch)到文本的宽度时,我希望省略号消失。如何做到这一点?
最佳答案
在 HTML 中,将完整的值放在自定义的 data-* 属性中,例如
<span data-original="your string here"></span>
然后将 load
和 resize
事件监听器分配给一个 JavaScript 函数,该函数将读取原始数据属性并将其放入您的 innerHTML
跨度标签。这是省略号函数的示例:
function start_and_end(str) {
if (str.length > 35) {
return str.substr(0, 20) + '...' + str.substr(str.length-10, str.length);
}
return str;
}
调整值,或者如果可能的话,使它们动态化,如果需要的话,对于不同的对象。如果您有来自不同浏览器的用户,您可以从 dom 中其他地方使用相同字体和大小的文本窃取引用宽度。然后插入适当数量的字符以供使用。
还有一个提示是在 ... 或 who 消息上有一个缩写标签,以使用户能够获得包含完整字符串的工具提示。
<abbr title="simple tool tip">something</abbr>
关于javascript - 文本中间的省略号(Mac 风格),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/831552/