jquery.dotdot节未显示
我正在使用jquery.dotdot为文本部分创建多读/少读链接。我有多个p标签的部分没有显示文本。不太清楚问题是什么。我已经把我的代码放在下面的一把小提琴里了 谢谢你的帮助! 谢谢jquery.dotdot节未显示,jquery,dotdotdot,Jquery,Dotdotdot,我正在使用jquery.dotdot为文本部分创建多读/少读链接。我有多个p标签的部分没有显示文本。不太清楚问题是什么。我已经把我的代码放在下面的一把小提琴里了 谢谢你的帮助! 谢谢 $(函数(){ var addLink=$('.securetext'); addLink.append('readmore'); 对于(i=0;i0){ $(addLink[i]).children(“p”).last().append('readless'); }否则{ $(addLink[i]).appen
$(函数(){
var addLink=$('.securetext');
addLink.append('readmore');
对于(i=0;i0){
$(addLink[i]).children(“p”).last().append('readless');
}否则{
$(addLink[i]).append('readless');
}
}
truncateIfNeeded();//初始化省略号
});
var truncateIfNeeded=函数(jqueryTag){
var$selectionToTruncate=jqueryTag | |$('.securetext');
$selectionToTruncate.dotdot({
省略号:“…”,
手表:没错,
//包装:“信”,
高度:20*3,//最大行数
在“.readmore”之后,
回调:函数(isTruncated,orgContent){
var$currentReadMore=$(this.find('.readmore');
var$currentReadLess=$(this.find('.readless');
如果(isTruncated){
$(this.addClass('securetext--is truncated');
$(this.removeClass('securetext--未被截断');
}
bindReadMore();//绑定单击“阅读更多”
}
});
};
问题在于用于截断的算法
在第一次迭代中,在段落之后添加了readmore…
链接(恰好有3行)。这意味着将调用截断逻辑
在第二次迭代中,段落内添加了阅读更多…
。然后将整个内容放在3行中,因此它被删除。这显然是一个错误
描述GitHub上的bug的问题
提供部分修复,但在段落之间截断元素时不会显示省略号。(不过会显示“阅读更多”链接。)您的代码正在运行,有什么问题吗?如果您查看小提琴,您会注意到测试2下的第二部分根本没有显示。嗯,我只是查看了跨浏览器,它看起来像是在Safari中运行,但在Chrome、Firefox中没有,或者IE8。到目前为止,我发现它与
后的选择器有关,该选择器不是截断段落中的元素。如果删除
之后的选项,则可以正确获得第一段。仍在调查这是为什么。
$(function () {
var addLink = $('.securetext');
addLink.append('<span class="readmore trigger-js"> <a >Read more</a></span>');
for (i = 0; i < addLink.length; i++) {
if ($(addLink[i]).children("p").length > 0) {
$(addLink[i]).children("p").last().append('<span class="readless trigger-js"> <a >Read less</a></span>');
} else {
$(addLink[i]).append('<span class="readless trigger-js"> <a >Read less</a></span>');
}
}
truncateIfNeeded(); // Initialize ellipsis
});
var truncateIfNeeded = function (jqueryTag) {
var $selectionToTruncate = jqueryTag || $('.securetext');
$selectionToTruncate.dotdotdot({
ellipsis: '... ',
watch: true,
//wrap : 'letter',
height: 20 * 3, // max number of lines
after: '.readmore',
callback: function (isTruncated, orgContent) {
var $currentReadMore = $(this).find('.readmore');
var $currentReadLess = $(this).find('.readless');
if (isTruncated) {
$(this).addClass('securetext--is-truncated');
$(this).removeClass('securetext--is-not-truncated');
}
bindReadMore(); // bind click on "read more"
}
});
};