文字溢出实现溢出的部分再放入一个新生成的div中具体代码


Posted in Javascript onMay 17, 2013

看到群里有人提了一个问题,说文字溢出,如何实现溢出的文字放入一个新生成的div中,

想了一下原理,就是判断是否能在div里放下,如果不能,则在应该断开的地方,差入到新的div中,代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html;charset=gb2312" /> 
<title>文字自动分插不同的div-Jason Yu</title> 
<style type="text/css"> 
*{margin:0;padding:0;} 
body{line-height:24px;font-family:SimSun;font-size:12px;color:#000;} 
#box1{height:96px;} 
.box{width:200px;overflow:hidden;margin-top:10px;border:1px solid #000;} 
</style> 
</head> 
<body> 
<div id="box1" class="box"></div> 
<script type="text/javascript"> 
var str = "这里是一段话,这短话的文字可以很随意的哦,只要达到一定数量,就自动会分页,你信不信?不信也得信啊,这是真的,哪怕再长的文字,我复制一段话吧,下面这一段话就是复制过来的,我要准备复制了哦,准备好了没呢?这里是一段话,这短话的文字可以很随意的哦,只要达到一定数量,就自动会分页,你信不信?不信也得信啊,这是真的,哪怕再长的文字,我复制一段话吧,下面这一段话就是复制过来的,我要准备复制了哦,准备好了没呢?"; 
var oBox1 = document.getElementById("box1"); 
function fnTextOver(n1){ 
var newBox2 = document.createElement("div"); 
document.body.appendChild(newBox2); 
newBox2.className = "box"; 
for(var i=n1; i<=str.length; i++){ 
newBox2.innerHTML = str.substring(n1,i); 
if(newBox2.offsetHeight<=98){ 
if(i==str.length){ 
newBox2.style.height = "96px"; 
} 
}else{ 
newBox2.innerHTML = str.substring(n1,i-1); 
newBox2.style.height = "96px"; 
arguments.callee(i-1); 
break; 
} 
} 
} function fnShowText(){ 
var newBox = document.createElement("div"); 
document.body.appendChild(newBox); 
newBox.className = "box"; 
for(var i=1; i<=str.length; i++){ 
newBox.innerHTML = str.substring(0,i); 
if(newBox.offsetHeight<=98){ 
oBox1.innerHTML = str.substring(0,i); 
if(i==str.length){ 
document.body.removeChild(newBox); 
} 
}else{ 
document.body.removeChild(newBox); 
fnTextOver(i-1); 
break; 
} 
} 
} 
fnShowText(); 
</script> 
</body> 
</html>

补充一下,可能出现的问题1、符号在下一个div第一个出现2、字母如"student"会被断开写,及其他问题,需用正则判断一下。
Javascript 相关文章推荐
jquery 插件开发方法小结
Oct 23 Javascript
Javascript 刷新全集常用代码
Nov 22 Javascript
Javascript判断对象是否相等实现代码
Mar 18 Javascript
纯js分页代码(简洁实用)
Nov 05 Javascript
jQuery 获取兄弟元素的几种不错方法
May 23 Javascript
JavaScript中的Promise使用详解
Jun 24 Javascript
原生js实现jquery函数animate()动画效果的简单实例
Aug 21 Javascript
Angular6封装http请求的步骤详解
Aug 13 Javascript
Angular动态绑定样式及改变UI框架样式的方法小结
Sep 03 Javascript
react-router4按需加载(踩坑填坑)
Jan 06 Javascript
浅谈layui里的上传控件问题
Sep 26 Javascript
微信小程序实现可长按移动控件
Nov 01 Javascript
JQuery DataTable删除行后的页面更新利用Ajax解决
May 17 #Javascript
extjs ColumnChart设置不同的颜色实现代码
May 17 #Javascript
JQuery设置和去除disabled属性的5种方法总结
May 16 #Javascript
javascript检测页面是否缩放的小例子
May 16 #Javascript
js获取键盘按键响应事件(兼容各浏览器)
May 16 #Javascript
js如何获取file控件的完整路径具体实现代码
May 15 #Javascript
Jquery+CSS3实现一款简洁大气带滑动效果的弹出层
May 15 #Javascript
You might like
PHP5.3安装Zend Guard Loader图文教程
2014/09/29 PHP
javascript 进阶篇3 Ajax 、JSON、 Prototype介绍
2012/03/14 Javascript
JS getAttribute和setAttribute(取得和设置属性)的使用介绍
2013/07/10 Javascript
js将字符串转成正则表达式的实现方法
2013/11/13 Javascript
使用js解决由border属性引起的div宽度问题
2013/11/26 Javascript
JS取文本框中最小值的简单实例
2013/11/29 Javascript
一个不错的仿携程自定义数据下拉选择select
2014/09/01 Javascript
JavaScript function 的 length 属性使用介绍
2014/09/15 Javascript
重写document.write实现无阻塞加载js广告(补充)
2014/12/12 Javascript
小心!AngularJS结合RequireJS做文件合并压缩的那些坑
2016/01/09 Javascript
jQuery获取及设置表单input各种类型值的方法小结
2016/05/24 Javascript
JS简单实现无缝滚动效果实例
2016/08/24 Javascript
基于vue.js的分页插件详解
2017/11/27 Javascript
Vue+element-ui 实现表格的分页功能示例
2018/08/18 Javascript
关于vue 结合原生js 解决echarts resize问题
2020/07/26 Javascript
jQuery+ajax实现用户登录验证
2020/09/13 jQuery
浅谈Vue static 静态资源路径 和 style问题
2020/11/07 Javascript
Vue使用Element实现增删改查+打包的步骤
2020/11/25 Vue.js
代码块高亮可复制显示js插件highlight.js+clipboard.js整合
2021/02/15 Javascript
[01:53]2016完美“圣”典风云人物:Maybe专访
2016/12/05 DOTA
[01:01:52]完美世界DOTA2联赛PWL S2 GXR vs Magma 第二场 11.25
2020/11/26 DOTA
Python作用域用法实例详解
2016/03/15 Python
Python 中list ,set,dict的大规模查找效率对比详解
2019/10/11 Python
python调用c++返回带成员指针的类指针实例
2019/12/12 Python
Python如何使用内置库matplotlib绘制折线图
2020/02/24 Python
django admin后管定制-显示字段的实例
2020/03/11 Python
python3安装OCR识别库tesserocr过程图解
2020/04/02 Python
使用Nibabel库对nii格式图像的读写操作
2020/07/01 Python
NYX Professional Makeup官方网站:专业彩妆和美容产品
2019/10/29 全球购物
好家长事迹材料
2014/01/23 职场文书
群众路线个人对照检查材料
2014/09/23 职场文书
销售会议开幕词
2015/01/28 职场文书
乒乓球比赛通知
2015/04/27 职场文书
钢琴师观后感
2015/06/12 职场文书
英语教学课后反思
2016/02/15 职场文书
详解JS数组方法
2021/11/20 Javascript