使用layui框架,对table表格中超长文字隐藏成......,放鼠标在上面自动显示文字,移开关闭提示

使用layui框架,对table表格中超长文字隐藏成…,放鼠标在上面自动显示文字,移开关闭提示

效果如下
鼠标放在批次号上面之后自动弹出黑色提示框。移开鼠标自动消失
话不多说,上代码

1、在需要隐藏多余文字的table加上,重点是fix-table的样式操作:

 .fix-table{table-layout: fixed;}
 .fix-table td {white-space: nowrap; /* 自适应宽度*/overflow:hidden;text-overflow:ellipsis;/*省略号显示*/}

2、在页面初始化隐藏和显示文字的方法,如下:

在这里插入图片描述

3、showAndHideMsg()方法具体代码如下:

var tip_index;
/**
 * 页面表格内容超出宽度显示...
 * 鼠标放上去之后回显具体内容
 * 移开鼠标内容消失
 */
function showAndHideMsg(){
	$(document).on("mouseenter","td",function(){
		if (this.offsetWidth < this.scrollWidth) {
			let that = this;
			let text = $(this).text();
			let wid;
			
			if(text.length>1000){
				wid = '900px';
			}else if(text.length>600){
				wid = '700px';
			}else if(text.length>150){
				wid = '500px';
			}else if(text.length>100){
				wid = '250px';
			}else if(text.length>50){
				wid = '150px';
			}
			layui.use('layer', function(layer) {
				tip_index = layer.tips('<span style="word-wrap: break-word;">'+text+'</span>', that, {
					tips: [4, "#000000"], 
					time: 0,
					area: [wid, 'auto']
				});
			});
		}
	});
	$(document).on("mouseout","td",function(){
		layui.use('layer', function(layer) {
			layer.close(tip_index);
		});
	});
}

4、注意,table的td需要设置相应的宽度,如下:

<tbody id="tbody">
	<td class="ltd" width="20%">XXXX1</td>
	<td class="ltd" width="20%">XXXX2</td>
	<td class="ltd" width="20%">XXXX3</td>
	<td class="ltd" width="20%">XXXX4</td>
	<td class="ltd" width="20%">XXXX5</td>
</tbody>

5、如果表格的头部文字不想出现隐藏文字的操作,不要使用td标签,使用th,如下

<thead>
    <tr align="center">
         <th class="ltd" width="35%">XXXXXX1</th>
         <th class="ltd" width="30%">XXXXXX2</th>
         <th class="ltd" width="30%">XXXXXX3</td>
     </tr>
</thead>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值