您现在的位置: 万盛学电脑网 >> 程序编程 >> 脚本专题 >> javascript >> 正文

JS和CSS限制页面显示的字符长度

作者:佚名    责任编辑:admin    更新时间:2022-06-22

<nav class="cf_nav clearfix">
  <ul>
    <li>
      <a href="http://lizhuangs.18021051d350c3871c0a.tpl.diandian.com" title="首页">
        <div class="nav_block">
          <span>首页</span>
          <span class="hover">首页</span>
        </div>
      </a>
    </li>
    
    <li>
      <a href="http://lizhuangs.18021051d350c3871c0a.tpl.diandian.com/submit" title="投稿">
        <div class="nav_block">
          <span>投稿</span>
          <span class="hover">投稿</span>
        </div>
      </a>
    </li>
    
    
    <li>
      <a href="http://lizhuangs.diandian.com/inbox " title="私信 ">
        <div class="nav_block">
          <span>私信 </span>
          <span class="hover">私信 </span>
        </div>
      </a>
    </li>
    
    <li>
      <a href="http://lizhuangs.18021051d350c3871c0a.tpl.diandian.com/archive" title="存档">
        <div class="nav_block">
          <span>存档</span>
          <span class="hover">存档</span>
        </div>
      </a>
    </li>
    <li>
      <a href="http://lizhuangs.18021051d350c3871c0a.tpl.diandian.com/rss" title="订阅">
        <div class="nav_block">
          <span>订阅</span>
          <span class="hover">订阅</span>
        </div>
      </a>
    </li>

如果我在限制上面的span中的字符。
$("nav_block span").wordLimit(8);


它使用了下面的一个算定义jquery插件的方法,这是我从点点网扣下来的:

// copyright c by zhangxinxu v1.0 2009-09-05
// http://www.zhangxinxu.com
/* $(".test1").wordLimit(); 自动获取css宽度进行处理,如果css中未对.test1给定宽度,则不起作用
	$(".test2").wordLimit(24); 截取字符数,值为大于0的整数,这里表示class为test2的标签内字符数最多24个
*/

(function($){
	$.fn.wordLimit = function(num){	
	this.each(function(){	
	if(!num){
	var copyThis = $(this.cloneNode(true)).hide().css({
	'position': 'absolute',
	'width': 'auto',
	'overflow': 'visible'
	});	
	$(this).after(copyThis);
	if(copyThis.width()>$(this).width()){
	$(this).text($(this).text().substring(0,$(this).text().length-4));
	$(this).html($(this).html()+'...');
	copyThis.remove();
	$(this).wordLimit();
	}else{
	copyThis.remove(); //清除复制
	return;
	}	
	}else{
	var maxwidth=num;
	if($(this).text().length>maxwidth){
	$(this).text($(this).text().substring(0,maxwidth));
	$(this).html($(this).html()+'...');
	}
	}					 
	});
	}		  
})(jQuery);