文字溢出实现溢出的部分再放入一个新生成的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 相关文章推荐
javascript 学习之旅 (1)
Feb 05 Javascript
Js 弹出框口并返回值的两种常用方法
Dec 30 Javascript
jQuery 常见操作实现方式和常用函数方法总结
May 06 Javascript
form表单action提交的js部分与html部分
Jan 07 Javascript
AngularJS中的模块详解
Jan 29 Javascript
jQuery层级选择器实例代码
Feb 06 Javascript
Vue2.0组件间数据传递示例
Mar 07 Javascript
javascript 中的继承实例详解
May 05 Javascript
jquery根据name取得select选中的值实例(超简单)
Jan 25 jQuery
如何解决vue2.0下IE浏览器白屏问题
Sep 13 Javascript
详解js location.href和window.open的几种用法和区别
Dec 02 Javascript
javascript实现固定侧边栏
Feb 09 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
博士208HAF收音机实习报告
2021/03/02 无线电
8个PHP程序员常用的功能汇总
2014/12/18 PHP
php使用redis的几种常见操作方式和用法示例
2020/02/20 PHP
Thinkphp 框架配置操作之动态配置、扩展配置及批量配置实例分析
2020/05/15 PHP
JavaScript中按位“异或”运算符使用介绍
2014/03/14 Javascript
Js 正则表达式知识汇总
2014/12/02 Javascript
jQuery.trim() 函数及trim()用法详解
2015/10/26 Javascript
jQuery动态添加及删除表单上传元素的方法(附demo源码下载)
2016/01/15 Javascript
将List对象列表转换成JSON格式的类实现方法
2016/07/04 Javascript
纯js实现手风琴效果代码
2020/04/17 Javascript
超全面的javascript中变量命名规则
2017/02/09 Javascript
详解JavaScript 中getElementsByName在IE中的注意事项
2017/02/21 Javascript
jQuery实现锚点向下平滑滚动特效示例
2017/08/29 jQuery
Vue.js实现可编辑的表格
2019/12/11 Javascript
Python中的闭包详细介绍和实例
2014/11/21 Python
Python中使用异常处理来判断运行的操作系统平台方法
2015/01/22 Python
Python读取文件内容的三种常用方式及效率比较
2017/10/07 Python
python 给DataFrame增加index行名和columns列名的实现方法
2018/06/08 Python
python单向循环链表原理与实现方法示例
2019/12/03 Python
解决Tensorflow sess.run导致的内存溢出问题
2020/02/05 Python
python中pop()函数的语法与实例
2020/12/01 Python
美国嘻哈首饰购物网站:Hip Hop Bling
2016/12/30 全球购物
领先的英国注册在线药房 :Simply Meds Online
2019/03/28 全球购物
英国DIY汽车维修配件网站:DIY Car Service Parts
2019/08/30 全球购物
国外软件测试工程师面试题
2016/12/09 面试题
How TDD works
2012/09/30 面试题
个人评价范文分享
2014/01/11 职场文书
物业保安员岗位职责
2014/03/14 职场文书
关工委先进个人事迹材料
2014/05/23 职场文书
校园元旦活动总结
2014/07/09 职场文书
医学专业毕业生推荐信
2014/07/12 职场文书
2015年元宵节活动总结
2015/02/06 职场文书
教师个人发展总结
2015/02/11 职场文书
财政局个人总结
2015/03/04 职场文书
利用python调用摄像头的实例分析
2021/06/07 Python
Vue深入理解插槽slot的使用
2022/08/05 Vue.js