js 文字超出长度用省略号代替,鼠标悬停并以悬浮框显示实例


Posted in Javascript onDecember 06, 2016

题目中问题一拆为二:

1.文字在超出长度时,如何实现用省略号代替?

2.超长长度的文字在省略显示后,如何在鼠标悬停时,以悬浮框的形式显示出全部信息?

文字在超出长度时,如何实现用省略号代替?

用CSS实现超长字段用省略号表示的方法:所有浏览器兼容!

html代码如下:

<div style="width:150px;overflow:hidden; white-space:nowrap; text-overflow:ellipsis">
用CSS实现超长字段被省略的简单方法
</div>

注意:设置宽度,overflow:hidden, white-space:nowrap, text-overflow:ellipsis四个属性缺一不可。这种写法在所有的浏览器中都能正常显示。

超长长度的文字在省略显示后,如何在鼠标悬停时,以悬浮框的形式显示出全部信息?(此处只讨论以悬浮框显示的方式)

第一种方式:使用div中的title属性:

先来个简单的,一目了然的示例:

<div style='width:120px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;' title='鼠标悬浮显示的内容'>鼠标悬浮显示的内容</div> 
<!--这个内容因为是在div里面,是控制div的宽度来显示你需要看到几个字的长度,超出会显示 ...-->
<!--title:提示信息,鼠标放到该元素上显示的提示信息-->

显示效果,如下图:

js 文字超出长度用省略号代替,鼠标悬停并以悬浮框显示实例

第二种方式:在div中绑定鼠标经过事件

单独的div(包含id属性)通过悬浮框显示,下面代码在谷歌浏览器已测试通过:

<!DOCTYPE html>
<html>
 <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>
      RunJS 演示代码
    </title>
    <style>
      #content{
        text-overflow: ellipsis;
        overflow: hidden;
        white-space: nowrap;
        width:200px;
      }
    </style>
    <script>
      onload = function(){
        content.onmouseover = function(){
          this.title = this.innerHTML;
        }
      }
    </script>
 </head>
  <body>
  <div id='content'>
      js 文字超出长度用省略号代替,鼠标悬停并以悬浮框显示
      js 文字超出长度用省略号代替,鼠标悬停并以悬浮框显示
      js 文字超出长度用省略号代替,鼠标悬停并以悬浮框显示
      js 文字超出长度用省略号代替,鼠标悬停并以悬浮框显示
 </div>
 </body>
</html>

多个div(包含class属性)通过悬浮框显示:

由于div标签之间的距离较近,在鼠标悬浮时,悬浮框会出现快速闪显的情况,可以通过调大div的之间的间距,来改善,或者直接改为p标签也可以.

<!DOCTYPE html>
<html>
 <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>
      演示代码
    </title>
    <style>
      .content{
        text-overflow: ellipsis;
        overflow: hidden;
        white-space: nowrap;
        width:200px;
      }
    </style>
    <script>
     function overShow(obj,e) {
     var showDiv = document.getElementById('showDiv');
     var theEvent = window.event|| e;
     showDiv.style.left = theEvent.clientX+"px";
     showDiv.style.top = theEvent.clientY+"px";
     showDiv.style.display = 'block';
     //alert(obj.innerHTML);
     showDiv.innerHTML = obj.innerHTML;
     }

     function outHide() {
     var showDiv = document.getElementById('showDiv');
     showDiv.style.display = 'none';
     showDiv.innerHTML = '';
     }
    </script>
 </head>
  <body>
  <div class='content' onmouseover="overShow(this,event)" onmouseout="outHide()">
      js0 文字超出长度用省略号代替,鼠标悬停并以悬浮框显示
      js0 文字超出长度用省略号代替,鼠标悬停并以悬浮框显示
      js0 文字超出长度用省略号代替,鼠标悬停并以悬浮框显示
      js0 文字超出长度用省略号代替,鼠标悬停并以悬浮框显示
  </div>
    <div class='content' onmouseover="overShow(this,event)" onmouseout="outHide()">
      js1 文字超出长度用省略号代替,鼠标悬停并以悬浮框显示
      js1 文字超出长度用省略号代替,鼠标悬停并以悬浮框显示
      js1 文字超出长度用省略号代替,鼠标悬停并以悬浮框显示
      js1 文字超出长度用省略号代替,鼠标悬停并以悬浮框显示
  </div>
    <div class='content' onmouseover="overShow(this,event)" onmouseout="outHide()">
      js2 文字超出长度用省略号代替,鼠标悬停并以悬浮框显示
      js2 文字超出长度用省略号代替,鼠标悬停并以悬浮框显示
      js2 文字超出长度用省略号代替,鼠标悬停并以悬浮框显示
      js2 文字超出长度用省略号代替,鼠标悬停并以悬浮框显示
  </div>
    <div class='content' onmouseover="overShow(this,event)" onmouseout="outHide()">
      js3 文字超出长度用省略号代替,鼠标悬停并以悬浮框显示
      js3 文字超出长度用省略号代替,鼠标悬停并以悬浮框显示
      js3 文字超出长度用省略号代替,鼠标悬停并以悬浮框显示
      js3 文字超出长度用省略号代替,鼠标悬停并以悬浮框显示
  </div>
  <div id="showDiv" style="position: absolute; background-color: white; border: 1px solid black;"></div>
 </body>

</html>

显示效果,如下图:

js 文字超出长度用省略号代替,鼠标悬停并以悬浮框显示实例

补充:

js 文字超出长度用省略号代替,鼠标悬浮时,直接显示出全部信息(不以悬浮框的形式)

<!DOCTYPE html>
<html>
 <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>
      RunJS 演示代码
    </title>
    <!-- 如果是id属性,将.改为#即可 -->
    <style>
      .content{
        text-overflow: ellipsis;
        overflow: hidden;
        white-space: nowrap;
        width:200px;
      }
      .content:hover {height: auto;white-space: normal;} 
    </style>
 </head>
  <body>
  <div class='content'>
      js1 文字超出长度用省略号代替,鼠标悬停并以悬浮框显示
      js1 文字超出长度用省略号代替,鼠标悬停并以悬浮框显示
      js1 文字超出长度用省略号代替,鼠标悬停并以悬浮框显示
      js1 文字超出长度用省略号代替,鼠标悬停并以悬浮框显示
  </div>
    <div class='content'>
      js2 文字超出长度用省略号代替,鼠标悬停并以悬浮框显示
      js2 文字超出长度用省略号代替,鼠标悬停并以悬浮框显示
      js2 文字超出长度用省略号代替,鼠标悬停并以悬浮框显示
      js2 文字超出长度用省略号代替,鼠标悬停并以悬浮框显示
  </div>
 </body>
</html>

存在的问题:

当鼠标悬停时,省略的内容在全部显示出来之后,会挤压下方的内容,当是多行显示时,容易造成页面错乱.如图:

js 文字超出长度用省略号代替,鼠标悬停并以悬浮框显示实例

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery select操作控制方法小结
May 26 Javascript
javascript中动态加载js文件多种解决办法总结
Nov 15 Javascript
javascript刷新父页面的各种方法汇总
Sep 03 Javascript
用console.table()调试javascript
Sep 04 Javascript
全面解析Bootstrap表单使用方法(表单样式)
Nov 24 Javascript
基于JS如何实现类似QQ好友头像hover时显示资料卡的效果(推荐)
Jun 09 Javascript
各式各样的导航条效果css3结合jquery代码实现
Sep 17 Javascript
angular实现表单验证及提交功能
Feb 01 Javascript
vue.js 左侧二级菜单显示与隐藏切换的实例代码
May 23 Javascript
详解VUE单页应用骨架屏方案
Jan 17 Javascript
vue实现节点增删改功能
Sep 26 Javascript
Angular 多级路由实现登录页面跳转(小白教程)
Nov 19 Javascript
关于 jQuery Easyui异步加载tree的问题解析
Dec 06 #Javascript
JavaScript之Vue.js【入门基础】
Dec 06 #Javascript
浅析JavaScript中作用域和作用域链
Dec 06 #Javascript
利用JS轻松实现获取表单数据
Dec 06 #Javascript
手机移动端实现 jquery和HTML5 Canvas的幸运大奖盘特效
Dec 06 #Javascript
Javascript highcharts 饼图显示数量和百分比实例代码
Dec 06 #Javascript
jQuery EasyUI 获取tabs的实例解析
Dec 06 #Javascript
You might like
thinkPHP5框架分页样式类完整示例
2018/09/01 PHP
QQ登录简单实现代码
2021/03/09 Javascript
北京奥运官方网站幻灯切换效果flash版打包下载
2008/01/30 Javascript
Html中JS脚本执行顺序简单举例说明
2010/06/19 Javascript
使用jQuery模板来展现json数据的代码
2010/10/22 Javascript
img onload事件绑定各浏览器均可执行
2012/12/19 Javascript
jquery $.each 和for怎么跳出循环终止本次循环
2013/09/27 Javascript
JavaScript中的函数的两种定义方式和函数变量赋值
2014/05/12 Javascript
js与jquery回车提交的方法
2015/02/03 Javascript
快速学习AngularJs HTTP响应拦截器
2015/12/31 Javascript
JavaScript实现经典排序算法之冒泡排序
2016/12/28 Javascript
Angular在一个页面中使用两个ng-app的方法(二)
2017/02/20 Javascript
Bootstrap3.3.7导航栏下拉菜单鼠标滑过展开效果
2017/10/31 Javascript
VUE+Element环境搭建与安装的方法步骤
2019/01/24 Javascript
vue组件定义,全局、局部组件,配合模板及动态组件功能示例
2019/03/19 Javascript
微信小程序云开发实现增删改查功能
2019/05/17 Javascript
js实现淘宝浏览商品放大镜功能
2020/10/28 Javascript
Python使用multiprocessing实现一个最简单的分布式作业调度系统
2016/03/14 Python
深入了解Python中pop和remove的使用方法
2018/01/09 Python
pandas数据选取:df[] df.loc[] df.iloc[] df.ix[] df.at[] df.iat[]
2020/04/24 Python
Python网络爬虫四大选择器用法原理总结
2020/06/01 Python
PyCharm 2020.2 安装详细教程
2020/09/25 Python
python实现马丁策略回测3000只股票的实例代码
2021/01/22 Python
浅析Python模块之间的相互引用问题
2021/02/26 Python
CSS3 边框效果
2019/11/04 HTML / CSS
Giglio德国网上精品店:奢侈品服装和配件
2016/09/23 全球购物
希尔顿酒店中国网站:Hilton中国
2017/03/11 全球购物
新加坡领先的时尚生活方式零售品牌:CHARLES & KEITH
2018/01/16 全球购物
澳大利亚首屈一指的鞋类品牌:Tony Bianco
2018/03/13 全球购物
精伦电子Java笔试题
2013/01/16 面试题
报社实习生自荐信
2014/01/24 职场文书
党员应该树立反腐倡廉的坚定意识思想汇报
2014/09/12 职场文书
虚拟机linux端mysql数据库无法远程访问的解决办法
2021/05/26 MySQL
JVM的类加载器和双亲委派模式你了解吗
2022/03/13 Java/Android
Android开发实现极为简单的QQ登录页面
2022/04/24 Java/Android
pd.drop_duplicates删除重复行的方法实现
2022/06/16 Python