Home  >  Q&A  >  body text

javascript - js 如何判断文本内容是否换行了?

js 如何判断文本内容是否换行了?
文字超过一行后显示省略号,后面需要显示一个展开的按钮;
如果文字没超过一行,隐藏按钮。
求大神指点?谢谢

高洛峰高洛峰2748 days ago2115

reply all(6)I'll reply

  • 黄舟

    黄舟2017-04-11 13:14:28

    解决方案:通过计算内容宽度,算出容器宽度,来比较宽度是否超过容器。。。由于是列表,在模板中获取不到内容宽度,就提前绘制一个隐藏的模板,计算每条内容的宽度,再显示界面

    reply
    0
  • 高洛峰

    高洛峰2017-04-11 13:14:28

    这种情况一般来说通过计算总宽度和字体宽度,通过字数判断更合适!

    reply
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-11 13:14:28

    你可以判断 内容的长度,
    比如最多显示10个字,
    string.length>10 就 string.substr(0,10) + "...." + ["展开按钮"]显示出来
    string.length<=10 就全部显示 并不要["展开按钮"]

    reply
    0
  • 黄舟

    黄舟2017-04-11 13:14:28

    用css就可以控制。text-overflow这个属性

    reply
    0
  • 黄舟

    黄舟2017-04-11 13:14:28

    判断字体盒子的高度

    reply
    0
  • 怪我咯

    怪我咯2017-04-11 13:14:28

    这是实现超过长度隐藏显示省略号的CSS

        width: 100px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;

    reply
    0
  • Cancelreply