javascript - JS CSS 线夹重置 (TextOverflowClamp.js)

标签 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);

  });
}    

最佳答案

我似乎无法为 TextOverflowClamp.js 找到合适的站点。然而,通读代码本身,似乎将 0 作为第二个参数传递应该删除 chop (不清楚这是否是故意的,但它似乎有效)。但是,如果最初有任何内部元素,这些元素就会丢失并且不会保留。对于您的示例,它只是文本,所以应该没问题:

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);
}

关于您的代码的一些附加说明。每次调用 loadClamp 时,您都在添加一个额外的 resize 处理程序,实际上没有理由这样做。我删除了那个。

此外,将 TextOverflowClamp 代码放在您自己的代码之前也很重要。

http://jsfiddle.net/w9nkad0u/

关于javascript - JS CSS 线夹重置 (TextOverflowClamp.js),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28592188/

相关文章:

javascript - 是否有 JS/jQuery 完全递归子节点计数功能?

jquery - 为什么我看不到我的 jQuery UI 动画?

javascript - 如何使用 jQuery 创建流畅的 html 元素

css - 如何将图像放在 HTML 中的单选按钮上

javascript - html radio onchange 事件不会触发?

javascript - 显示和隐藏包含谷歌地图的 div

javascript - D3 按类别选择元素并返回元素 ID

javascript - 仅在 Firefox 中焦点转到下一个文本框

javascript - 任何其他替代可见性崩溃的解决方案

javascript - Angular 6 Material MatFormField 显示为未知组件