在项目汇总,我们有这样的需求,如果内容多了,就自动省略,自动添加title

这个需要判断判断俩个值,一个是width(),一个是scrollWidth,

在div中,如果内容没有超过边框,这俩个值是一样的,就是css设置的宽度;如果内容超过边框了,scrollWidth的值会大于width,所以我们可以通过判断scrollWidth和width的值

来知道内容是否超过边框

例:

 <!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<title>Title</title>
<meta name="viewport" content="width=device-width, initial-scale=1,minimum-scale=1,maximum-sacle=1,user-scalable=no">
<script type="text/javascript" src="../jquery-3.1.1.js"></script>
<style>
.test1{
width: 200px;
height: 20px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
</style>
</head>
<body>
<div>
<div class="test1">阿尔瓦尔</div>
<div class="test1">阿尔瓦尔方式顶顶顶顶顶顶顶顶顶顶顶顶顶顶多多多多多多多多多多多多多多多多多多多多</div>
</div>
<script>
$(function () {
console.log($(".test1").eq().width())
console.log($(".test1").eq()[].scrollWidth)
for(var i = ;i<$(".test1").length;i++){
if($(".test1").eq(i).width() < $(".test1").eq(i)[].scrollWidth){
$(".test1").eq(i).attr("title",$(".test1").eq(i).text())
}
}
})
</script>
</body>
</html>

在table中,就不能这样判断了,就算内容没有超过边框,scrollWidth也会大于width,所以我们只用scrollWidth就行,先通过计算获取内容少时scrollWidth的值,然后同判断

如果当前的scrollWidth大于之前计算的值,就说明内容超过边框了

例:

 <!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<title>Title</title>
<meta name="viewport" content="width=device-width, initial-scale=1,minimum-scale=1,maximum-sacle=1,user-scalable=no">
<script type="text/javascript" src="../jquery-3.1.1.js"></script>
<style>
table{
width: 1080px;
table-layout: fixed;
border-collapse: collapse;
margin: auto;
}
thead{
width: auto;
font-size: 14px;
text-align: center;
background-color: #;
}
thead tr,thead th{
border: 1px solid #dddddd;
border-left: none !important;
color: #ffffff;
height: 50px;
font-size: 14px;
}
thead tr img,tbody td img{
width: 14px;
height: 14px;
cursor: pointer;
} tbody{
width: auto;
min-width: 1070px;
font-size: 14px;
text-align: center;
border-bottom: 1px solid #dddddd;
background-color: #ffffff;
}
tbody tr,tbody td{
border-left: 1px solid #dddddd;
border-right: 1px solid #dddddd;
height: 67px;
color: #;
}
tbody td{
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
</style>
</head>
<body>
<table>
<tbody>
<tr>
<td class="test2">我是</td>
<td class="test1" width="">我是1反倒</td>
<td>我是2</td>
</tr>
<tr>
<td>我是</td>
<td class="test1" width="">我是1反倒是所所所所所所所所所所所所所所所所所所所所我是1反倒是所所所所所所所所所所所所所所所所所所所所我是1反倒是所所所所所所所所所所所所所所所所所所所所</td>
<td>我是2</td>
</tr>
<tr>
<td>我是</td>
<td class="test1" width="">我是1反倒是所所所所所所所所所所所所所所所所所所所所我是1反倒是所所所所所所所所所所所所所所所所所所所所我是1反倒是所所所所所所所所所所所所所所所所所所所所</td>
<td>我是2</td>
</tr>
</tbody>
</table>
<script>
$(function () {
// 352是最开始算出来的,当内容很少时,scrollWidth值是352
for(var i = ;i<$(".test1").length;i++){
if($(".test1").eq(i)[].scrollWidth > ){
$(".test1").eq(i).attr("title",$(".test1").eq(i).text())
}
}
})
</script>
</body>
</html>

js和css实现内容超过边框,就自动省略,自动添加title的更多相关文章

  1. CSS实现内容超过长度后以省略号显示

    样式: {width: 160px; overflow: hidden; text-overflow:ellipsis; white-space: nowrap;} 说明: white-space: ...

  2. ASP.NET MVC 5 默认模板的JS和CSS 是怎么加载的?

    当创建一个默认的mvc模板后,项目如下: 运行项目后,鼠标右键查看源码,在源码里看到头部和尾部都有js和css文件被引用,他们是怎么被添加进来的呢? 首先我们先看对应的view文件index.csht ...

  3. JavaScript使用localStorage缓存Js和css文件

    对于WebApp来说,将js css文件缓存到localstorage区可以减少页面在加载时与HTTP请求的交互次数,从而优化页面的加载时间.特别是当移端信号不好高延迟时优化效果还是很显见的 下面的代 ...

  4. 0019 盒子模型(CSS重点):边框、内外边距、布局稳定性、PS

    typora-copy-images-to: media 第01阶段.前端基础.盒子模型 盒子模型(CSS重点) css学习三大重点: css 盒子模型 . 浮动 . 定位 主题思路: 目标: 理解: ...

  5. 纯css竟可以做出边框这样长宽度的过渡效果

    边框效果如下:鼠标移到下面方形,就有效果   要是没有效果,点这个:https://murenziwei.github.io/testGit/Untitled1.html 正如你所看到的,这边框颜色只 ...

  6. IE 下JS和CSS 阻塞后面内容总结

    总结: 1.  CSS 都是可以并行下载的. 2.  IE6 和 IE7   JS 不能并行下载,CSS 和 JS 阻塞后面内容下载. 3.  IE8   JS 还是会阻塞图片下载 开始改变加载模式, ...

  7. IE和firefox火狐在JS、css兼容区别

    1.firefox不能对innerText支持. firefox支持innerHTML但却不支持innerText,它支持textContent来实现innerText,不过默认把多余的空格也保留了. ...

  8. js和css兼容问题

    (一)html部分 1.H5新标签在IE9以下的浏览器识别 <!--[if lt IE 9]>  <script type="text/javascript" s ...

  9. CSS简要内容

    1. 简介 用于布局与美化网页(颜色,字体) CSS语言是一种标记语言,不需编译,可直接由浏览器执行 大小写不敏感 CSS定义由选择符.属性.属性取值组成 格式:selector{property:v ...

随机推荐

  1. Win7(及以后版本) 高级搜索 AND OR NOT 正则

    http://www.cnblogs.com/include/archive/2011/08/23/2150594.html TIP:语法容易混淆,容易误用用C系列语法 & | !等,其实是S ...

  2. postman 官方 test 脚本样例

    Test examples 样例来源: https://learning.getpostman.com/docs/postman/scripts/test_examples/ Test scripts ...

  3. [CB]Intel 2018架构日详解:新CPU&新GPU齐公布 牙膏时代有望明年结束

    Intel 2018架构日详解:新CPU&新GPU齐公布 牙膏时代有望明年结束 北京时间12月12日晚,Intel在圣克拉拉举办了架构日活动.在五个小时的演讲中,Intel揭开了2021年CP ...

  4. [转帖]"微信支付"勒索病毒制造者被锁定 传播、危害和疫情终极解密 --- 可以学习下一年火绒团队的分析原理的精神.

    "微信支付"勒索病毒制造者被锁定 传播.危害和疫情终极解密 https://www.cnbeta.com/articles/tech/794851.htm 12月1日,首个要求&q ...

  5. [转帖]Portainer -- Docker可视化管理工具的安装配置及使用

    原贴地址:https://blog.csdn.net/A632189007/article/details/78779920 Portainer介绍 Portainer是Docker的图形化管理工具, ...

  6. RANCHER2.0 的简单使用

    1. RANCHER2.0  能够管理 k8s 集群 也能够用来搭建 k8s 集群 但是因为网络问题 只测试了如何去管理集群 还没有去 测试 安装集群. 2. 创建rancher 服务的方法 dock ...

  7. jenkins 添加 k8s 云

    同事的jenkins 链接自己的 k8s 总是出问题 给出了资料和服务器 进行处理. 同时给出的参考资料:https://blog.csdn.net/diantun00/article/details ...

  8. dotTrace 每行执行时间和执行次数

    如果代码中出现效率问题,使用dotTrace来跟踪分析代码的效率问题还是很方便的.使用dotTrace不但可以看到每一个方法被调用的次数和总时间,而且可以引入源代码,查看源代码中每一行执行的次数和时间 ...

  9. Memcache 优化建议

    一.memcached工作原理 基本概念:slab,page,chunk. slab,是一个逻辑概念.它是在启动memcached实例的时候预处理好的,每个slab对应一个chunk size,也就是 ...

  10. 【UOJ #351】新年的叶子(树的直径,期望)

    题目链接 这的确是一道好题,我们不妨依循思路一步步推导,看问题是如何被解决的. 做一些约定,设$m$为树的叶子节点个数,设$len$为该树的直径(经过的点数). 毫无疑问,直径可能有多条,我们需要把所 ...