文字溢出实现溢出的部分再放入一个新生成的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插件[鼠标悬浮时候 出现说明label]
Jun 27 Javascript
Flexigrid在IE下不显示数据的处理的解决方法
Oct 24 Javascript
JQuery下拉框应用示例介绍
Apr 23 Javascript
javascript实现实时输出当前的时间
Apr 27 Javascript
深入探讨javascript函数式编程
Oct 11 Javascript
JS使用正则表达式过滤多个词语并替换为相同长度星号的方法
Aug 03 Javascript
jQuery控制元素隐藏和显示
Mar 03 Javascript
JavaScript hasOwnProperty() 函数实例详解
Aug 04 Javascript
Vue-cli3项目配置Vue.config.js实战记录
Jul 29 Javascript
js实现每日签到功能
Nov 29 Javascript
vue中echarts图表大小适应窗口大小且不需要刷新案例
Jul 19 Javascript
AJAX实现省市县三级联动效果
Oct 16 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与SQL注入攻击[三]
2007/04/17 PHP
thinkphp3.2点击刷新生成验证码
2016/02/16 PHP
php实现留言板功能(会话控制)
2017/05/23 PHP
解决laravel资源加载路径设置的问题
2019/10/14 PHP
Yii 框架使用数据库(databases)的方法示例
2020/05/19 PHP
JavaScript 题型问答有答案参考
2010/02/17 Javascript
通过js动态操作table(新增,删除相关列信息)
2012/05/23 Javascript
jquery图片延迟加载 前端开发技能必备系列
2012/06/18 Javascript
js实现字符串转日期格式的方法
2015/05/20 Javascript
jQuery判断指定id的对象是否存在的方法
2015/05/22 Javascript
jQuery中 $ 符号的冲突问题及解决方案
2016/11/04 Javascript
常用的 JS 排序算法 整理版
2018/04/05 Javascript
nodejs更改项目端口号的方法
2018/05/13 NodeJs
layui select获取自定义属性方法
2018/08/15 Javascript
解决Vue2.0中使用less给元素添加背景图片出现的问题
2018/09/03 Javascript
js中的闭包实例展示
2018/11/01 Javascript
JavaScript 预解析的4种实现方法解析
2019/09/03 Javascript
Echarts地图添加引导线效果(labelLine)
2019/09/30 Javascript
Vue两个版本的区别和使用方法(更深层次了解)
2020/02/16 Javascript
vue中解决拖拽改变存在iframe的div大小时卡顿问题
2020/07/22 Javascript
vant组件中 dialog的确认按钮的回调事件操作
2020/11/04 Javascript
开源软件包和环境管理系统Anaconda的安装使用
2017/09/04 Python
Python中关键字global和nonlocal的区别详解
2018/09/03 Python
Python类中方法getitem和getattr详解
2019/08/30 Python
python 基于selectors库实现文件上传与下载
2020/12/31 Python
CSS3实现DIV圆角效果完整代码
2012/10/10 HTML / CSS
中国专业的音频分享平台:喜马拉雅
2019/05/24 全球购物
新西兰杂志订阅:isubscribe
2019/08/26 全球购物
经典c++面试题五
2014/12/17 面试题
《守株待兔》教学反思
2014/03/01 职场文书
企业文明单位申报材料
2014/05/16 职场文书
企业趣味活动方案
2014/08/21 职场文书
教师党员群众路线教育实践活动心得体会
2014/11/04 职场文书
起诉离婚协议书样本
2014/11/25 职场文书
讲文明倡议书
2015/04/29 职场文书
交通安全温馨提示语
2015/07/14 职场文书