我正在使用http://rockycode.com/blog/jquery-plugin-readmore/修剪长文本,并添加“查看更多”链接以显示所有文字。
我希望避免削减言语,我怎么能这样做?
如果限制为35,请不要削减w ...
但
如果限制为35,请不要删除单词...(在这种情况下,将其修剪为38,然后显示隐藏的文本,从第39个结尾处开始。
答案 0 :(得分:7)
而不是这样做:
$elem.readmore({
substr_len: 35
});
你可以这样做
$elem.readmore({
substr_len: $elem.text().substr(0, 35).lastIndexOf(" ")
});
我们正在做的是去索引35之前的最新空间。 当然35可以变化。你也可以把它放到一个函数中重用它。
希望这有帮助
答案 1 :(得分:3)
您可以按如下方式更改该插件中的abridge
功能:
function abridge(elem) {
var opts = elem.data("opts");
var txt = elem.html();
var len = opts.substr_len;
var dots = "<span>" + opts.ellipses + "</span>";
var charAtLen = txt.substr(len, 1);
while (len < txt.length && !/\s/.test(charAtLen)) {
len++;
charAtLen = txt.substr(len, 1);
}
var shown = txt.substring(0, len) + dots;
var hidden = '<span class="hidden" style="display:none;">' + txt.substring(len, txt.length) + '</span>';
elem.html(shown + hidden);
}
......它会按照你的意愿行事。你可能想要添加一个选项来关闭和打开此功能,但我会把它留给你。
答案 2 :(得分:1)
我刚收集了有关此主题的信息,在您的帮助和我写的其他相关帖子的帮助下: