jQuery插件——长字符串改为显示部分字符串+伸缩图标

一直以来, 长字符串在表格中的处理都是非常麻烦的:截短了看不到,看到了页面难看……

本人发了个“恨”, 用半天时间写好这个玩意, 免得以后烦人吧。

//=====================================================================  
//插件名称: CutString  
//作    者: yenange
//功能说明: 设置 字符个数,在超过时显示部分字符串和 ">>"
//          ">>"点击时会展开显示全部内容, 变为 "<<"
//输入参数: charLength: 字符长度超过多少个时  
//调用示例: $(function(){ $("#xxx li").CutString(25) });      
//输出参数:
//创建日期: 2014-11-11
(function ($) {
    jQuery.fn.CutString = function (charLength) {
        $(this).each(function(){
            var fullString = $(this).text();
            if(fullString==null || typeof(fullString)=="undefined" || fullString.length<=charLength){
                return true;
            }
            var cutString = fullString.substring(0, charLength);
            $(this).text( cutString );
            //内面加多一层,类似: <li><span>xxx</span></li>
            $(this).wrapInner(function(){
                return "<span></span>";
            });
            
            var $cutFlag = $("<span style='color:red;cursor:pointer;' title='展开' >>></span>");
            $cutFlag.data("full", fullString)
                .data("cut", cutString)
                .data("open", "0");
            
            $(this).append($cutFlag);
            
            $(this).click(function(){
                var open = $cutFlag.data("open");
                var $txt = $cutFlag.prev();
                $cutFlag.text(open=='0'?"<<":">>")
                       .data("open", open=='0'?'1':'0')
                       .attr("title", open=='0'?'收缩':'展开');
                $txt.text( open=='0' ? $cutFlag.data("full") : $cutFlag.data("cut") );
            });
        });
    }
})(jQuery);


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值