有字符串 str="定标模式,投标开始时间,投标结束时间,入围最高系数,入围最低系数,"
要显示为 定标模式,投标开始时间,投标结束时间,...
字符串为上述形式,项数不定,每一项字数也不定
超出三项(3个逗号)的显示省略号,最好鼠标划上时能展示全文,要怎么做?
str="定标模式,投标开始时间,投标结束时间,入围最高系数,入围最低系数,"
newStr = str.split(',').slice(0, 3).join(',') + ',...'
vue的写法如下:
<div :title="str">
newStr: {{newStr}}
</div>
jq的写法大概如下:
<div id="text" title=""></div>
$('#text').attr("title",str);
$('#text').html(newStr);
1、鼠标划上时能展示全文,原生标签的话,可以使用标签的title。
效果如下,点击查看动图:
2、鼠标划上时能展示全文,也可以写css样式做到:
<div class="text">
定标模式,投标开始时间,投标结束时间,...
<div class="tips">定标模式,投标开始时间,投标结束时间,入围最高系数,入围最低系数,</div>
</div>
css:
.tips {
display: none;
}
.text:hover .tips {
display: block;
}
效果如下,点击查看动图:
如果你有用到组件库之类的,参考element的组件Tooltip 文字提示-常用于展示鼠标 hover 时的提示信息。
###// => 定标模式,投标开始时间,投标结束时间,...
var data = str.replace(/((.+?,){3}).*/g, '$1...')