您的位置:首页 > Web前端 > JQuery

用jquery 实现 超出字符 截断并加上省略号(自定义jquery函数)

2010-10-17 13:29 267 查看
<script type="text/javascript">

jQuery.fn.limit=function(){

var self = $("[@limit]");

self.each(function(){

var objString = $(this).text();

var objLength = $(this).text().length;

var num = $(this).attr("limit");

if(objLength > num){

$(this).attr("title",objString);

objString = $(this).text(objString.substring(0,num) + "...");

}

})

}

$(function(){

$("[@limit]").limit();

})

</script>

<body>

<div class="blank">请按F5刷新页面。。。。</div>

<div id="best">

<div limit="12">计算字串的长度长度长度长度</div>

<div limit="10">这边有优化很公开这边</div>

<div limit="12">这边有优化很公开长度长度很公开长度</div>

<div limit="12">计算字长度长度</div>

<div limit="10">这边有优化很边有优化很边有优化很边有优化很边有

优化很</div>

</div>

</body>

ps:自定义函数的写法

1、扩展jQuery自身之全局函数

jQuery.logError={/*log error*/}

jQuery.logWarning ={/*log warning */}

jQuery.logDebug ={/*log debug */}

使用:jQuery.logError();

上面三个可以写成

jQuery.log= {

Error:function(){/*log error*/},

Warning: function(){/*log warning */},

Debug: function(){/*log debug*/}

}

使用:jQuery.log.Error();

jQuery.foobar={ /*do foobar*/}

使用:jQuery.foobar();

以上的方法等同于使用 jQuery. extend ()

jQuery. extend = {

log: { Error:function(){/*log error*/},

Warning: function(){/*log warning */},

Debug: function(){/*log debug*/}

},

foobar:function(){/*do foobar*/}

}

使用:

jQuery.log.Error();

jQuery.foobar();

2、添加实例方法,扩展jQuery.fn

jQuery.fn=jQuery.prototype

如:jQuery.fn.showMessage=function(){

alert(“message!!”)}

使用:$(“#div1”).showMessage();

l this是对当前jQuery对象的引用

l 使用each迭代当前对象

l 插件方法必须返回一个jQuery对象

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: