文字溢出实现溢出的部分再放入一个新生成的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 必知必会之closure
Sep 21 Javascript
JavaScript中变量提升 Hoisting
Jul 03 Javascript
jQuery+ajax实现鼠标单击修改内容的思路
Jun 29 Javascript
JS中的Replace方法使用经验分享
May 20 Javascript
jQuery实现下拉加载功能实例代码
Apr 01 Javascript
老生常谈Bootstrap媒体对象
Jul 06 Javascript
Node.js学习之TCP/IP数据通讯(实例讲解)
Oct 11 Javascript
详解vue mixins和extends的巧妙用法
Dec 20 Javascript
vuex 的简单使用
Mar 22 Javascript
Vue触发式全局组件构建的方法
Nov 28 Javascript
Vue组件间数据传递的方式(3种)
Jul 13 Javascript
关于小程序优化的一些建议(小结)
Dec 10 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
php检测iis环境是否支持htaccess的方法
2014/02/18 PHP
PHP中的use关键字概述
2014/07/23 PHP
PHP模拟QQ登录的方法
2015/07/29 PHP
JS BASE64编码 window.atob(), window.btoa()
2021/03/09 Javascript
javascript与CSS复习(三)
2010/06/29 Javascript
自定义一个jquery插件[鼠标悬浮时候 出现说明label]
2011/06/27 Javascript
jQuery focus和blur事件的应用详解
2014/01/26 Javascript
关闭时刷新父窗口两种方法
2014/05/07 Javascript
jquery通过visible来判断标签是否显示或隐藏
2014/05/08 Javascript
JavaScript中的函数重载深入理解
2014/08/04 Javascript
jquery mobile 实现自定义confirm确认框效果的简单实例
2016/06/17 Javascript
JavaScript 控制字体大小设置的方法
2016/11/23 Javascript
JavaScript箭头(arrow)函数详解
2017/06/04 Javascript
浅谈关于.vue文件中style的scoped属性
2017/08/19 Javascript
JS实现页面内跳转的简单代码
2017/09/03 Javascript
JavaScript for循环 if判断语句(学习笔记)
2017/10/11 Javascript
js实现每日签到功能
2018/11/29 Javascript
layui 富文本编辑器和textarea值的相互传递方法
2019/09/18 Javascript
vue 开发企业微信整合案例分析
2019/12/02 Javascript
微信小程序中的列表切换功能实例代码详解
2020/06/09 Javascript
Python牛刀小试密码爆破
2011/02/03 Python
python实现html转ubb代码(html2ubb)
2014/07/03 Python
Python算法应用实战之栈详解
2017/02/04 Python
python使用xpath中遇到:到底是什么?
2018/01/04 Python
机器学习之KNN算法原理及Python实现方法详解
2018/07/09 Python
Python给定一个句子倒序输出单词以及字母的方法
2018/12/20 Python
Python通过cv2读取多个USB摄像头
2019/08/28 Python
基于python连接oracle导并出数据文件
2020/04/28 Python
Java ExcutorService优雅关闭方式解析
2020/05/30 Python
通过cmd进入python的步骤
2020/06/16 Python
财务人员的自我评价范文
2014/03/03 职场文书
研究生毕业自我鉴定范文
2014/03/27 职场文书
餐饮店长岗位职责
2015/04/14 职场文书
考生诚信考试承诺书
2015/04/29 职场文书
基于PyTorch实现一个简单的CNN图像分类器
2021/05/29 Python
如何使用SQL Server语句创建表
2022/04/12 SQL Server