42 lines
1.1 KiB
JavaScript
42 lines
1.1 KiB
JavaScript
(function($) {
|
|
$.fn.ellipsis = function(enableUpdating){
|
|
var s = document.documentElement.style;
|
|
if (!('textOverflow' in s || 'OTextOverflow' in s)) {
|
|
return this.each(function(){
|
|
var el = $(this);
|
|
if(el.css("overflow") == "hidden"){
|
|
var originalText = el.html();
|
|
var w = el.width();
|
|
|
|
var t = $(this.cloneNode(true)).hide().css({
|
|
'position': 'absolute',
|
|
'width': 'auto',
|
|
'overflow': 'visible',
|
|
'max-width': 'inherit'
|
|
});
|
|
el.after(t);
|
|
|
|
var text = originalText;
|
|
while(text.length > 0 && t.width() > el.width()){
|
|
text = text.substr(0, text.length - 1);
|
|
t.html(text + "...");
|
|
}
|
|
el.html(t.html());
|
|
|
|
t.remove();
|
|
|
|
if(enableUpdating == true){
|
|
var oldW = el.width();
|
|
setInterval(function(){
|
|
if(el.width() != oldW){
|
|
oldW = el.width();
|
|
el.html(originalText);
|
|
el.ellipsis();
|
|
}
|
|
}, 200);
|
|
}
|
|
}
|
|
});
|
|
} else return this;
|
|
};
|
|
})(jQuery); |