1、jQuery限制字符字數的方法
代碼很簡單,使用也很方便,如下:
$(document).ready(function(){
//限制字符個數
$(“.zxx_text_overflow”).each(function(){
var maxwidth=23;
if($(this).text().length>maxwidth){
$(this).text($(this).text().substring(0,maxwidth));
$(this).html($(this).html()+’…’);
}
});
});
所產生的結果是:頁面中class為“zxx_text_overflow”的標簽內部字符的個數將最多顯示23個,如果原本字符個數大於23,則會在后面添加點點點省略號(…)
jQuery限制字符個數實現溢出省略號表示
2、jQuery自動判斷寬度是否超出的方法
相比較前面一種方法,這個js實現的方法更加智能些(也更占用資源),通過復制節點(就是需要判斷是否文字溢出省略號顯示的標簽層),獲取其寬度,再判斷其寬度是否大於樣式中給定的寬度限值,大於則去掉尾部字符,添加省略號,循環,直到復制的層的寬度小於css給定值。
js代碼如下:
//by zhangxinxu
var wordLimit=function(){
$(“.zxx_text_overflow”).each(function(){
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).html().length-4));
$(this).html($(this).html()+’…’);
copyThis.remove();
wordLimit();
}else{
copyThis.remove(); //清除復制
return;
}
});
}
wordLimit();
css部分需要給定一個寬度值,例如:.zxx_text_overflow{width:400px;}
jQuery寬度判定實現溢出省略號表示
狠狠地點擊這里:本文各類方法的demo實例頁面
最后補充:
我抽了一會兒時間把上面兩個jQuery的方法結合起來,寫了個小小的jQuery插件,方便對jQuery感興趣的人直接使用了。
這個單行文字溢出用點點點省略號顯示的jQuery插件的使用很簡單。例如:
$(“.test1″).wordLimit(); 自動獲取css寬度進行處理,如果css中未對.test1給定寬度,則不起作用
$(“.test2″).wordLimit(24); 截取字符數,值為大於0的整數,這里表示class為test2的標簽內字符數最多24個
$.wordLimit();里面為空則根據寬度自動截取,有值的話就按照字符數進行截取了。
此插件js下載(右鍵,另存為)
源文件打包下載(zip 18.6K)
狠狠地點擊這里:文字溢出省略號顯示jQuery插件使用demo實例頁面