先前用jq做了一个文字截断功能,但是不用jq的项目要实现此功能还要引如jq显得过于麻烦。这里写了一个js的文字截断功能。直接上代码。

HTML(测试用的):

     <div>我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox</div>
         <div limit="10" >我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox</div>
         <div limit="5" >我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox</div>
         <div limit="2" >我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox</div>
         <div >我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox</div>
         <div limit="20" >我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox</div>
         <div limit="100" >我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox</div>
         <div>我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox</div>

 

JS:

             var limit=[];
             var Text=[];
             var Pox=document.getElementsByTagName('*');
             for(var i=0;i<Pox.length;i++){
                 if(Pox[i].getAttribute("limit")){
                     limit[i]=Pox[i].getAttribute("limit");
                     Text[i]=Pox[i].innerHTML;
                     if(limit[i]<Text[i].length){
                         Pox[i].innerHTML=Text[i].substring(0,limit[i])+"...";
                     }
                 }
             }    

这里用getElementsByTagName获取所有节点遍历,if(Pox[i].getAttribute("limit"))筛选含有limit这个自定义属性的节点,然后获取各个节点自定义属性limit的值,将其放入limit数组中,把各个节点文字放入Text数组中,将需要截断的值和文本长度作比较,进行截断。

全部JS,这里写的自调:

 

<script type="text/javascript">
  window.onload=function(){
        (function limit(){
            var limit=[];
             var Text=[];
             var Pox=document.getElementsByTagName('*');
             for(var i=0;i<Pox.length;i++){
                 if(Pox[i].getAttribute("limit")){
                     limit[i]=Pox[i].getAttribute("limit");
                     Text[i]=Pox[i].innerHTML;
                     if(limit[i]<Text[i].length){
                        Pox[i].innerHTML=Text[i].substring(0,limit[i])+"...";
                     }
                 }
             }    
            }());
           }
        </script>

 

 

 

效果图:

posted on 2016-09-14 09:35  陌路凡歌  阅读(871)  评论(0编辑  收藏  举报