zoukankan      html  css  js  c++  java
  • 原生js 截取固定长度字符串但不打断单词

    应用场景:

      英文网站中,比如面包屑导航处新闻标题过长。

    效果图:

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>js递归折行</title>
    </head>
    
    <body>
        <script type="text/javascript">
        /**
        * js递归调用,处理字符串,每n个换一行 ,单词不折行
        * @param {String} str 字符串
        * @param {Number} n 每行固定字符串个数
        */
      function addStrLine(str,number){
        var newArr=[];
        var targetStr,// 目标字符串
            addStr =  ' ',// 截取后添加的字符串
            sliceLength = str.length;// 截取字符串长度
        var array=str.split(' ');//将字符串根据空格截取转化为数组 
        for (let i = 0; i < array.length; i++) {
            targetStr   = array[i];  
            var count=0;;//记录某行存了几个单词
            for (let j = i+1; j < array.length; j++) {
                const nextStr = array[j];
                if( targetStr.length <  number){
                    count=j 
                    targetStr= insertString(targetStr,sliceLength,addStr,nextStr)
                }else{
                    i=count+1
                    targetStr=targetStr
                } 
            }
                newArr.push(targetStr);
        }
        return newArr.join('
    ')
        }
        function  insertString(targetStr,sliceLength,addStr,nextStr) {
            targetStr= targetStr.slice(0,sliceLength) + addStr + nextStr;
            return targetStr;
        }
    var text=`Falling in love with yourself first doesn’t make you vain or selfish, it makes you indestructible.`; var number=20; console.log(addStrLine(text,number)) </script> </body> </html>
    addStrLine
    未来的我会感谢现在努力的自己。
  • 相关阅读:
    ssh密钥讲解
    Python之paramiko模块
    Python之socket编程进阶版
    linux内socket服务器无法连接windows
    Python之socket编程
    linux(centOS7,mini),python环境的搭建
    Python 之异常处理机制
    pytho常用模块2——random
    Hadoop基础(二):从Hadoop框架讨论大数据生态
    Hadoop基础(一):概论
  • 原文地址:https://www.cnblogs.com/cat-eol/p/12850990.html
Copyright © 2011-2022 走看看