素晴らしいhtml切り捨てライブラリtruncate.jsが見つかりました。私のニーズの約99%を処理しています。しかし、私は直面している厄介な問題が1つあります。私は、このライブラリがテキストのブロックに対して達成するために管理している一連の投稿のために、特定の数の行の最後に 'Show more'を必要とする要件があります。しかし、複数行のテキスト表示moreは適切に配置されていません。truncate.jsを使用して複数行のhtmlテキストを切り捨て
私はこの問題を示すためにplunkerを作成しました。私が望むのは、同じページに座っているテキストのブロックと同じように、同じ位置に複数行のテキストを表示することです。
私の最初の試みは、私は複数行のテキストのために欲しいものを私に与えますが、それは、その後の元の機能を壊すtruncateNestedNodeEnd機能
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);
}
}`
中)(PREVを追加しましたプランナーに示されているテキストのブロック。どのようにしてこの機能を2つのケースで機能させることができますか。私はまだ、この2つの投稿が同じページに載っているときに、黄色の部分に表示するほうを表示したいと思います。
に更新されたコードを参照してください
enter image description here
を解決しているように見えましたあなたはCSSで何ができるの? まだライブラリーがなくてもそれを行うことができます –
@MarcoSalerno私はjsの使用がこの点で役に立たないとは思わない。 Cssは私が必要とするものを達成できませんでした。 。最初はCSSを使用しましたが、「切り捨てテキストは、動的テキストの最後の行の直後に段落または複数行のテキストのいずれかに表示する必要があります」の要件を満たしていませんでした。 CSSを使用して、「もっと見る」を正しい位置に配置することができました。これはうまくいきましたが、私たちが望むものではありません...テキストの長さに応じてテキストの隣に「もっと見る」を追加する必要があります。 –