按行数截断HTML内容 Eripusisu.js

  • 源码大小:21KB
  • 所需积分:1积分
  • 源码编号:19JP-3148
  • 浏览次数:628次
  • 最后更新:2023年05月11日
  • 所属栏目:其他
我要下载
加入收藏
本站默认解压密码:19jp.com 或 19jp_com

简介

如果您曾经尝试过使用CSS文本溢出属性截断文本,您可能会发现很难做到这一点。当涉及到截断段落以外的元素时,如列表、表、浮动元素等,任务可能会变得更加复杂。这就是Eripussu的用武之地。

Eripusiu是一个轻量级但功能丰富的JavaScript/jQuery元素截断插件,它根据行数截断多行内容,并在末尾添加省略号,表示还有更多内容要显示。

该插件还提供了切换功能,只需单击一下即可显示溢出的内容。当您有一个大的内容块,最初不想显示,但希望提供以最小的工作量显示它的选项时,这可能会很有帮助。

更多功能:

  • 展开或折叠init上的所有内容。
  • 自定义省略号文本。
  • RTL支持。
  • 使用jQuery或Vanilla JavaScript。
  • 用TypeScript编写。

参见:

  • 10个最佳JavaScript多行文本截断插件

如何使用它:

1.安装并导入Eripusiu.js。

  1. # NPM
  2. $ npm i eripusisu
  1. var Eripusisu = require("eripusisu");
  1. <!-- OR -->
  2. <script src="./eripusisu.umd.js"></script>

2.对要截断的元素调用Eripusiu函数。第二个参数是行数。默认值:3。

  1. <div class="example">
  2. <!-- Content Here -->
  3. </div>
  4. <button class="button">
  5. Toggle Content
  6. </button>
  1. // Vanilla JavaScript
  2. const container = document.querySelector(".example");
  3. new Eripusisu(container, 3);
  4.  
  5. // jQuery
  6. Eripusisu($container$(".example")[0], 3);

3.可用的插件选项。

  1. new Eripusisu(container, 3, {
  2.  
  3. // true = expand all content on init
  4. expanded: false,
  5.  
  6. // ellipsis
  7. ellipsisText: "…",
  8.  
  9. // select of the toggle button
  10. toggleButton: undefined,
  11.  
  12. // enable RTL mode
  13. rtl: false,
  14. });

4.API方法。

  1. const eripusisu = new Eripusisu(container, 3);
  2.  
  3. // re-calc the content
  4. eripusisu.refresh();
  5.  
  6. // toggle
  7. eripusisu.toggle();
  8.  
  9. // expand
  10. eripusisu.expand();
  11.  
  12. // collapse
  13. eripusisu.collapse();
  14.  
  15. // rebuild the plugin
  16. eripusisu.rebuild();

5.事件。

  1. // fired on toggle
  2. eripusisu.addEventListener("eripusisu-toggle", function (e) {
  3. console.log(e.detail);
  4. });
  5.  
  6. // refresh the plugin on window resize
  7. window.addEventListener("resize", function (e) {
  8. eripusisu.refresh();
  9. });

预览截图