当前位置:首页 » 《随便一记》 » 正文

JavaScript 如何计算文本的行数的实现

9 人参与  2020年10月28日 00:00  分类 : 《随便一记》  评论

点击全文阅读


 

这篇文章主要介绍了JavaScript 如何计算文本的行数的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

需求:根据行数决定是否限制展开和收起。

思路:用2个块统计行高,一个不加高度限制用来统计行数(css隐藏),一个加高度限制用来显示(加高度限制会导致统计行数不准)

要想知道文本的行数,那就需要知道文本的总高度和每一行的高度,总高度除以行高就是行数。当然总高度的计算必须是文字所在的 DOM 没有对高度的限制,随着文本的增加 DOM 要随之变高才行;最后还要考虑 DOM 的样式padding和margin对高度的影响。这样一来我们就可以计算出文本的行数了。总结一下我们需要如下几步:

克隆文本所在的 DOM;

清除 DOM 的高度限制;

获取 DOM 的行高和高度;

计算行数;

去除克隆的 DOM。

相关代码

 document.getElementById("noticeContent").innerText = str;//展示的块

 document.getElementById("noticeContent2").innerText = str;//计算行高的块

 this.$nextTick(() => {

 let noticeDom = document.getElementById("noticeContent2");

 console.log(noticeDom);

 let style = window.getComputedStyle(noticeDom, null);

 let row = Math.ceil(

 Number(style.height.replace("px", "")) /

 Number(style.lineHeight.replace("px", ""))

 );//总行高 / 每行行高

 console.log("noticeDom===>", style.height, style.lineHeight);

 console.log("rowwwww", row);

 if (row > 2) {//超过2行则显示展开和收起

 this.showOmit = true;

 this.showOpen = true;

 } else {

 this.showOpen = false;

 }

 });

到此这篇关于JavaScript 如何计算文本的行数的实现的文章就介绍到这了,更多相关JavaScript 计算文本行数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

来源:脚本之家

链接:https://www.jb51.net/article/195571.htm

申请创业报道,分享创业好点子。,共同探讨创业新机遇!


点击全文阅读


本文链接:http://m.zhangshiyu.com/post/1024.html

<< 上一篇 下一篇 >>

最新文章

  • 季洛初陆羽谦小说(原来,我一直可怜的人,竟是我自己)(季洛初陆羽谦)完整章节列表_笔趣阁
  • 凤瑶萧锦言完结篇(一天被退婚九次,她转身强娶疯王爷)(一天被退婚九次,她转身强娶疯王爷)全书无套路阅读无广告小说大结局
  • 深情不负星河愿内容精选_顾晏之叶凝晚晚热文_小说后续在线阅读_无删减免费完结_
  • 宁溪净玄黯附加宁溪净玄黯:结局+番外免费品鉴(宁溪净玄黯)全本浏览阅读连载中
  • 俞婉欣傅朗挣(意识觉醒过后,他决心改变自己的命运!)最近更新(俞婉欣傅朗挣)整本无套路阅读
  • 重生后深情丈夫包养小明星我死遁了全书+后续(程潇月沈珩)_重生后深情丈夫包养小明星我死遁了全书+后续
  • 我的女儿是状元,却被老公初恋的儿子害死TOP10_张建国杨雪杨明精校文本_小说后续在线阅读_无删减免费完结_
  • 重生后深情丈夫包养小明星我死遁了(程潇月沈珩)_重生后深情丈夫包养小明星我死遁了
  • 徐青桃陈时屿后续(徐青桃陈时屿)全文在线下载在线+纯净版结局
  • 姜婷颜司明是不喜欢她这个新嫂子吗?后续(姜婷颜司明)(是不喜欢她这个新嫂子吗?)完整章节列表_笔趣阁
  • 四个未婚夫不信我能改命后悔疯了免费+后续(顾云淼谢辞渊陆铭乔婉)_四个未婚夫不信我能改命后悔疯了免费+后续
  • 他在永夜长眠番外笔趣阁新上(苏娆时砚清)_他在永夜长眠番外笔趣阁新上

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1