一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

node.js|vue.js|jquery|angularjs|React|json|js教程|

服務器之家 - 編程語言 - JavaScript - JavaScript 如何計算文本的行數的實現

JavaScript 如何計算文本的行數的實現

2021-09-28 12:16KASON JavaScript

這篇文章主要介紹了JavaScript 如何計算文本的行數的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

需求:根據行數決定是否限制展開和收起。

JavaScript 如何計算文本的行數的實現

思路:用2個塊統計行高,一個不加高度限制用來統計行數(css隱藏),一個加高度限制用來顯示(加高度限制會導致統計行數不準)

要想知道文本的行數,那就需要知道文本的總高度和每一行的高度,總高度除以行高就是行數。當然總高度的計算必須是文字所在的 DOM 沒有對高度的限制,隨著文本的增加 DOM 要隨之變高才行;最后還要考慮 DOM 的樣式padding和margin對高度的影響。這樣一來我們就可以計算出文本的行數了。總結一下我們需要如下幾步:

  • 克隆文本所在的 DOM;
  • 清除 DOM 的高度限制;
  • 獲取 DOM 的行高和高度;
  • 計算行數;
  • 去除克隆的 DOM。

相關代碼

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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://segmentfault.com/a/1190000024445583

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲欧美一区二区三区不卡 | 久久亚洲午夜牛牛影视 | 国内激情自拍 | 人人爽人人香蕉 | 星球大战成人h无删减版 | 欧美video丝袜连裤袜bd | 免费高清资源黄网站在线观看 | 好姑娘完整版在线观看中文 | 91人人在线| 边摸边吃奶边做爽视频免费 | 91免费永久国产在线观看 | 国产女同精品 | 亚洲精品www久久久久久久软件 | 消息称老熟妇乱视频一区二区 | 黑人巨茎大战欧美白妇 | 免费aⅴ片| 亚洲成熟人网站 | 国产区一二三四区2021 | 亚洲精品视频一区 | 亚洲国产精品成人综合久久久 | 楚乔传第二部全60集免费观看 | 草莓视频丝瓜 | 满城尽带黄金甲大胸片 | 免费看国产一级片 | 99自拍视频在线观看 | 2021国产麻豆剧传媒剧情动漫 | 紧缚束缚调教丨vk | 久久xxxx| 天天干夜夜噜 | 交换性关系中文字幕6 | 精品欧美一区二区精品久久 | 青青草原影院 | 欧洲肥女大肥臀tv | 日韩在线a视频免费播放 | 无人影院在线播放视频 | 四神集团1涨奶是第几章 | 国产成人一区二区三区视频免费蜜 | 国产人成77777视频网站 | juliaann大战黑人 | 奇米影视奇米色777欧美 | 亚洲va欧美va国产va天堂影 |