JS CSS线夹重置(TextOverflowClamp.js)

时间:2015-02-18 19:27:24

标签: javascript jquery html css

我正在使用TextOverflowClamp.js尝试对某些文本进行换行。它在减小窗口宽度的同时工作,但在增加窗口宽度后不会重置。在触发钳位并且窗口宽度大于设置的条件大小后,有人可以帮助重置线钳吗?

Codepen

所有代码都在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);

  });
}    

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代码放在自己的代码之前也很重要。

http://jsfiddle.net/w9nkad0u/