js判断是否超出了几行

663 阅读1分钟

一、效果

a.gif

二、代码

    const isExceedLines = (text, line = 2) => {
      const totalNode = document.createElement('div')
      const oneNode = document.createElement('div')
      totalNode.innerHTML = text
      oneNode.innerHTML = text.substring(0, 1)
      const containerNode = document.body.appendChild(totalNode)
      const getLineHeightNode = document.body.appendChild(oneNode)
      const totalHeight = totalNode.offsetHeight
      const oneHeight = oneNode.offsetHeight * line
      document.body.removeChild(containerNode)
      document.body.removeChild(getLineHeightNode)
      return totalHeight > oneHeight
    }
    const text = '文字文字文字文字文字,,,文字文字文字文字,文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字'
    const flag = isExceedLines(text, 3)
    console.log('超出3行了吗?', flag)

css判断超出2行显示省略号