我发现了一个很棒的html截断库,truncate.js,它可以满足我99%的需求。但是我有一个令人困扰的问题。我有一个要求,需要在一系列帖子的特定行数末尾放置“显示更多”...虽然该库可以管理文本块,但当涉及多行文本时,“显示更多”未能正确定位。
我制作了一个plunker来演示这个问题。我想做的就是能够像同一页上的文本块一样,在多行文本的相同位置放置“显示更多”。
我的第一次尝试是在truncateNestedNodeEnd函数中添加prev()。
我制作了一个plunker来演示这个问题。我想做的就是能够像同一页上的文本块一样,在多行文本的相同位置放置“显示更多”。
我的第一次尝试是在truncateNestedNodeEnd函数中添加prev()。
if ($clipNode.length) {
if ($.inArray(element.tagName.toLowerCase(), BLOCK_TAGS) >= 0) {
// Certain elements like <li> should not be appended to.
$element.after($clipNode);
}
else
{
//edited this line to add prev()
//$element.append($clipNode)
$element.prev().append($clipNode);
}
}`
这个方法可以实现多行文本的功能,但是它会破坏原来适用于一整块文本的功能,如在plunker中所示。我该如何让这个函数同时适用于这两种情况?当这两篇文章出现在同一页时,我仍希望“显示更多”出现在黄色部分。