/**
* 文本内容过长显示插件
* 鼠标放上去的时候就会整条浮动显示,没有放上去的时候就缩略显示
* 一行显示
* 多行显示
* (时间小,占用面积大)
* 鼠标放上去的时候就会 Led屏滚动显示,没有放上去的时候就缩略显示
* 只能一行显示
* (时间长,占用面积小)
* @param options
*/
$.fn.textContentOverLengthShow=function(options){
options=$.extend($.fn.textContentOverLengthShow.default,options);
var self={},$this=$(this);
/**
* led显示方式
*/
self.ledShow=function(){
var ele=$("<div class='led_show'/>");
ele.text($this.text());
$this.text("");
$this.append(ele);
var marginLeftWidth=self.thisWidth-options.width;
var marginLeftWidthEvel=0;
self.ledShow.setIntervalIndex=setInterval(function(){
marginLeftWidthEvel=marginLeftWidthEvel+10;
ele.css("margin-left","-"+marginLeftWidthEvel+"px");
if(marginLeftWidthEvel >= marginLeftWidth){
marginLeftWidthEvel=-10;
}
},options.ledFontShowTime);
}
/**
* 关闭 Led显示方式
*/
self.closeLedShow=function(){
clearInterval(self.ledShow.setIntervalIndex);
var ele=$this.find(".led_show");
$this.text(ele.text());
ele.remove();
}
/**
* 浮动显示
*/
self.floatShow=function(){
var offset=$this.offset();
var ele=$("<div class='float_show'/>");
if(this.floatShowRow > 1){
ele.width(options.width);
}else{
ele.css("display","inline-block");
ele.width(options.width);
}
ele.css("position","absolute");
$this.css("white-space","normal");
ele.offset(offset);
ele.text($this.text());
$this.append(ele);
//$this.text("");
}
/**
* 关闭浮动显示
*/
self.closeFloatShow=function(){
var ele=$this.find(".float_show");
$this.css("white-space","nowrap");
//$this.text(ele.text());
ele.remove();
}
/**
* 初始化
*/
self.init=function(){
var span=$("<span>"+$this.text()+"</span>");
$("body").append(span);
self.thisWidth=span.width();
span.remove();
if(options.width > self.thisWidth){
return;
}
$this.css({
display:"inline-block",
overflow:"hidden",
"text-overflow":"ellipsis",
"white-space":"nowrap"
});
$this.width(options.width);
$this.hover(
function () {//over
if(options.showType == 1){
self.floatShow();
}else if(options.showType == 2){
self.ledShow();
}
},
function () {//out
if(options.showType == 1){
self.closeFloatShow();
}else if(options.showType == 2){
self.closeLedShow();
}
}
);
}
self.init();
}
$.fn.textContentOverLengthShow.default={
showType:1,//显示类型 1:浮动显示,2:Led屏滚动显示
floatShowRow:1,//浮动显示的函数:1行,超过1 代表多行
width:200, //显示宽度
ledFontShowTime:100 //显示时间间隔
}
文本内容过长显示插件
最新推荐文章于 2021-01-14 15:19:31 发布