多行展示以省略号(...)处理

简介: 多行展示以省略号(...)处理

通过JS计算字符串在浏览器中显示的宽度。

将文本数据,通过先生成dom,然后获取dom的宽度,即可拿到整个文本的宽度。

然后通过获取屏幕宽度,计算所需要的行数,算出总行数的宽度。

两者对比,判断是否需要展示省略号(...)。

function calculateData(text, line){
    let cWidth = document.body.clientWidth;
    let tWidth = parseFloat((cWidth * line).toFixed(2));
    let span = document.createElement('span');
    span.innerHTML = text;
    span.style.visibility = 'hidden';
    span.setAttribute('class','fontSize');
    document.body.appendChild(span);
    const $dom = document.getElementsByClassName('fontSize')[0];
    let swidth = $dom.offsetWidth;
    document.getElementsByTagName('body')[0].removeChild($dom);
    return tWidth < swidth;
}
const str = '多行展示多行展示多行展示多行展示多行展示多行展示多行展示多行展示多行展示多行展示多行展示多行展示多行展示多行展示多行展示多行展示多行展示多行展示多行展示多行展示多行展示多行展示多行展示多行展示';
console.log(calculateData(str, 2)); // 是否展示省略号(...)
目录
相关文章
uni-app项目中如何添加百度统计代码?
uni-app项目中如何添加百度统计代码?
使用uniapp实现websocket聊天功能
使用uniapp实现websocket聊天功能
|
6月前
|
存储 缓存 关系型数据库
MySQL为什么需要主键
本文介绍了MySQL中主键的重要性及最佳实践。主键用于唯一标识表中的每一行,其值必须唯一且不允许为空。主键有助于简化更新和删除操作,避免影响无关行。推荐使用与业务无关的自增ID作为Innodb表的主键,以优化存储结构、减少碎片并提高性能。此外,文章还提到不更新、不重用主键值以及避免使用可能变更的字段(如邮箱)作为主键的良好习惯。最后强调了紧凑索引结构对查询效率的关键作用。
185 0
MySQL为什么需要主键
|
消息中间件 Web App开发 JavaScript
Node.js【简介、安装、运行 Node.js 脚本、事件循环、ES6 作业队列、Buffer(缓冲区)、Stream(流)】(一)-全面详解(学习总结---从入门到深化)
Node.js【简介、安装、运行 Node.js 脚本、事件循环、ES6 作业队列、Buffer(缓冲区)、Stream(流)】(一)-全面详解(学习总结---从入门到深化)
3580 0
Flyway Validate failed: Migration checksum mismatch for migration version 1.0.0.01 错误
在运行系统的时候出现错误: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'flywayInitializer' defined in class path resour...
3067 0
|
10月前
|
机器学习/深度学习 Serverless 索引
分类网络中one-hot编码的作用
在分类任务中,使用神经网络时,通常需要将类别标签转换为一种合适的输入格式。这时候,one-hot编码(one-hot encoding)是一种常见且有效的方法。one-hot编码将类别标签表示为向量形式,其中只有一个元素为1,其他元素为0。
323 2
|
12月前
|
Web App开发 移动开发 前端开发
uniapp环境H5运行及发行(入门必学)
uniapp环境H5运行及发行(入门必学)
1116 5
|
12月前
|
JavaScript 索引
Vue中对象或数组数据更新但视图不刷新问题的解决策略
Vue中对象或数组数据更新但视图不刷新问题的解决策略
836 0
|
移动开发 JavaScript 前端开发
学习vue3使用在线官方开发环境play.vuejs.org进行测试
学习vue3使用在线官方开发环境play.vuejs.org进行测试
244 1
|
SQL 自然语言处理 关系型数据库
NL2SQL进阶系列(3):Data-Copilot、Chat2DB、Vanna Text2SQL优化框架开源应用实践详解[Text2SQL]
NL2SQL进阶系列(3):Data-Copilot、Chat2DB、Vanna Text2SQL优化框架开源应用实践详解[Text2SQL]
NL2SQL进阶系列(3):Data-Copilot、Chat2DB、Vanna Text2SQL优化框架开源应用实践详解[Text2SQL]