js控制文本超长显示

 

 

方式一:

  
  
  
  
  1. li {  
  2.  width:200px;  
  3.  white-space:nowrap;  
  4.  text-overflow:ellipsis;   
  5.  -o-text-overflow:ellipsis;   
  6.  overflow: hidden;  
  7.  }  
  8.  
  9.  
  10. <ul> 
  11. <li><a href="#">web标准常见问题大全web标准常见问题大全</a><> 
  12. <li><a href="#">web标准常见问题大全web标准常见问题大全</a><> 
  13. <li><a href="#">web标准常见问题大全web标准常见问题大全</a><> 
  14. <li><a href="#">web标准常见问题大全web标准常见问题大全</a><> 
  15. <li><a href="#">web标准常见问题大全web标准常见问题大全</a><> 
  16. </ul> 

方式二:

 

  
  
  
  
  1. $(function(){  
  2.               
  3.             var spaceStr="<lable>";  
  4.             $(".acont").each(function(){  
  5.                 var maxwidth=15;  
  6.                 var title=$(this).text();  
  7.                 var titleWordNum=0;  
  8.             //获取字符串的字节数(一个汉字两个字节,一个英文、空格、数字一个字节)  
  9.                 for(var x=0;x<title.length;x++){  
  10.                     if(title.charCodeAt(x)<=255){           //中文的asscii码大于255  
  11.                         titleWordNum+=1;  
  12.                           
  13.                     }else{  
  14.                         titleWordNum+=2;  
  15.                     }  
  16.                 }  
  17.               
  18.                 if(titleWordNum>maxwidth*2){  
  19.                 //字符串的字节数大于指定的长度就截取指定长度的字符串,  
  20. //此时存在另一个问题:如果截取出来的字符串中存在英文,则需要再  
  21. //断一遍,填充缺少的空格  
  22.                     var titleSub=$(this).text().substring(0, maxwidth+1);  
  23.                     var titleSubWordEng=0;  
  24.                     for(var y=0;y<titleSub.length;y++){  
  25.                         if(titleSub.charCodeAt(y)<=255){  
  26.                             titleSubWordEng+=1;  
  27.                               
  28.                         }  
  29.                     }  
  30.                     if(titleSubWordEng>0){  
  31.                         var tempSpaceStr="<lable>";  
  32.                         for( var z=0;z<titleSubWordEng;z++){  
  33.                             tempSpaceStr+="&nbsp;"  
  34.                         }  
  35.                         tempSpaceStr+="</lable>";  
  36.                           
  37.                     $(this).html($(this).text().substring(0,maxwidth+1)+"..."+tempSpaceStr)  
  38.                     }else{  
  39.                         $(this).html($(this).text().substring(0, maxwidth+1)+"...")  
  40.                     }  
  41.                 }else{  
  42.                 //字符串的字节数小于指定的长度,则用空格填充  
  43.                     var titleLength=$(this).text().length;  
  44.                     for(var i=0;i<35-titleWordNum;i++){  
  45.                         spaceStr+="&nbsp;"  
  46.                     }  
  47.                     spaceStr+="</lable>"  
  48.                     $(this).html($(this).text()+spaceStr)  
  49.                     spaceStr="<lable>";  
  50.                 }  
  51.                 titleWordNum=0;  
  52.             })  
  53. }) 

 

你可能感兴趣的:(js,控制文本)