文字溢出实现溢出的部分再放入一个新生成的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自适应宽度的瀑布流实现思路
Feb 20 Javascript
js形成页面的一种遮罩效果实例代码
Jan 04 Javascript
基于jQuery实现仿百度首页选项卡切换效果
May 29 Javascript
jQuery组件easyui对话框实现代码
Aug 25 Javascript
JavaScript闭包和范围实例详解
Dec 19 Javascript
原生js轮播(仿慕课网)
Feb 15 Javascript
基于JavaScript实现前端数据多条件筛选功能
Aug 19 Javascript
前端必备插件之纯原生JS的瀑布流插件Macy.js
Nov 22 Javascript
深入理解JS异步编程-Promise
Jun 03 Javascript
js实现移动端tab切换时下划线滑动效果
Sep 08 Javascript
原生js中运算符及流程控制示例详解
Jan 05 Javascript
react项目从新建到部署的实现示例
Feb 19 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网站在线人数统计
2008/04/09 PHP
php中理解print EOT分界符和echo EOT的用法区别小结
2010/02/21 PHP
PHP中date与gmdate的区别及默认时区设置
2014/05/12 PHP
重新认识php array_merge函数
2014/08/31 PHP
PHP用mysql_insert_id()函数获得刚插入数据或当前发布文章的ID
2016/11/25 PHP
javascript XML数据显示为HTML一例
2008/12/23 Javascript
一款js和css代码压缩工具[附JAVA环境配置方法]
2010/04/16 Javascript
div拖拽插件——JQ.MoveBox.js(自制JQ插件)
2013/05/17 Javascript
js动态修改input输入框的type属性(实现方法解析)
2013/11/13 Javascript
JQuery标签页效果的两个实例讲解(4)
2015/09/17 Javascript
深入浅析AngularJS中的module(模块)
2016/01/04 Javascript
DataTables+BootStrap组合使用Ajax来获取数据并且动态加载dom的方法(排序,过滤,分页等)
2016/11/09 Javascript
JS实现点击网页判断是否安装app并打开否则跳转app store
2016/11/18 Javascript
原生js实现返回顶部缓冲效果
2017/01/18 Javascript
详解angular中通过$location获取路径(参数)的写法
2017/03/21 Javascript
JS实现的加减乘除四则运算计算器示例
2017/08/09 Javascript
vue-router命名视图的使用讲解
2019/01/19 Javascript
jQuery弹框插件使用方法详解
2020/05/26 jQuery
vue页面跳转实现页面缓存操作
2020/07/22 Javascript
[03:27]最受玩家喜爱奖提名:PZH_Element 致玩家寄语
2016/12/20 DOTA
Python中标准模块importlib详解
2017/04/16 Python
Django框架中间件(Middleware)用法实例分析
2019/05/24 Python
python 获取等间隔的数组实例
2019/07/04 Python
Python3如何实现Win10桌面自动切换
2020/08/11 Python
Agoda台湾官网:国内外订房2折起
2018/03/20 全球购物
加大码胸罩、内裤和服装:Just My Size
2019/03/21 全球购物
送餐员岗位职责范本
2014/02/21 职场文书
巡警年度自我鉴定
2014/02/21 职场文书
学生期末评语大全
2014/04/30 职场文书
安全例会汇报材料
2014/08/23 职场文书
高职教师先进事迹材料
2014/08/24 职场文书
医德医魂心得体会
2014/09/11 职场文书
护士辞职信怎么写
2015/02/27 职场文书
2019通用版劳动合同范本!
2019/07/11 职场文书
Win11怎么进入安全模式?Windows 11进入安全模式的方法
2021/11/21 数码科技
Redis基本数据类型List常用操作命令
2022/06/01 Redis