我正在使用TextOverflowClamp.js尝试对某些文本进行换行。它在减小窗口宽度的同时工作,但在增加窗口宽度后不会重置。在触发钳位并且窗口宽度大于设置的条件大小后,有人可以帮助重置线钳吗?
所有代码都在Codepen中,但我的调整大小和加载函数在这里:
var winWidth;
$(window).resize(function () {
winWidth = $(window).width();
if (winWidth <= 991) {
loadClamp();
}
else {
// reset line clamp code here
}
}).resize();
function loadClamp() {
$(window).on('resize', function() {
// TextOverflowClamp.js
clamp(document.getElementById('js-toclamp1'), 1);
});
}
答案 0 :(得分:1)
我似乎无法为TextOverflowClamp.js找到合适的网站。但是,阅读代码本身,似乎传递0
,因为第二个参数应该删除截断(目前还不清楚这是否是有意的,但似乎有效)。但是,如果最初有任何内部元素,则会丢失并且不会保留。在你的例子中,它只是文本,所以应该没问题:
var winWidth;
$(window).resize(function () {
winWidth = $(window).width();
if (winWidth <= 991) {
loadClamp(1);
}
else {
// back to normal
loadClamp(0);
}
}).resize();
function loadClamp(lines) {
clamp(document.getElementById('js-toclamp1'), lines);
}
您的代码的一些附加说明。每次调用resize
时,您都会添加一个额外的loadClamp
处理程序,而且实际上没有理由这样做。我删除了。
此外,将TextOverflowClamp代码放在自己的代码之前也很重要。