文字溢出实现溢出的部分再放入一个新生成的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第三课 修改元素属性及内容的代码
Mar 14 Javascript
JS 显示当前日期与时间的代码
Mar 24 Javascript
数组方法解决JS字符串连接性能问题有争议
Jan 12 Javascript
jQuery siblings()用法实例详解
Apr 26 Javascript
一分钟理解js闭包
May 04 Javascript
所见即所得的富文本编辑器bootstrap-wysiwyg使用方法详解
May 27 Javascript
js如何获取网页所有图片
May 12 Javascript
详解Vue+axios+Node+express实现文件上传(用户头像上传)
Aug 10 Javascript
Next.js项目实战踩坑指南(笔记)
Nov 29 Javascript
vue自定义指令用法经典实例小结
Mar 16 Javascript
基于mpvue搭建微信小程序项目框架的教程详解
Apr 10 Javascript
vue props 一次传多个值实例
Jul 22 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实现QQ登录实例代码
2016/01/14 PHP
PHP查询并删除数据库多列重复数据的方法(利用数组函数实现)
2016/02/23 PHP
javascript &amp;&amp;和||运算法的另类使用技巧
2009/11/28 Javascript
纯js实现背景图片切换效果代码
2010/11/14 Javascript
Jquery倒计时源码分享
2014/05/16 Javascript
c#程序员对TypeScript的认识过程
2015/06/19 Javascript
jQuery EasyUI之DataGrid使用实例详解
2016/01/04 Javascript
Javascript获取统一管理的提示语(message)
2016/02/03 Javascript
微信和qq时间格式模板实例详解
2016/10/21 Javascript
jQuery基于ajax操作json数据简单示例
2017/01/05 Javascript
Vue如何引入远程JS文件
2017/04/20 Javascript
Angularjs单选框相关的示例代码
2017/08/17 Javascript
Vue的移动端多图上传插件vue-easy-uploader的示例代码
2017/11/27 Javascript
angularjs实现柱状图动态加载的示例
2017/12/11 Javascript
详解给Vue2路由导航钩子和axios拦截器做个封装
2018/04/10 Javascript
React native ListView 增加顶部下拉刷新和底下点击刷新示例
2018/04/27 Javascript
浅谈javascript中的prototype和__proto__的理解
2019/04/07 Javascript
vue路由权限校验功能的实现代码
2020/06/07 Javascript
[01:04:05]VG vs Newbee 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
python中for语句简单遍历数据的方法
2015/05/07 Python
Python中的ceil()方法使用教程
2015/05/14 Python
python 队列详解及实例代码
2016/10/18 Python
Python中functools模块函数解析
2017/03/12 Python
Python递归函数定义与用法示例
2017/06/02 Python
Django与JS交互的示例代码
2017/08/23 Python
Python判断三段线能否构成三角形的代码
2020/04/12 Python
Python如何使用vars返回对象的属性列表
2020/10/17 Python
Selenium执行完毕未关闭chromedriver/geckodriver进程的解决办法(java版+python版)
2020/12/07 Python
CSS3 选择器 属性选择器介绍
2012/01/21 HTML / CSS
法国美发器材和产品购物网站:Beauty Coiffure
2016/12/05 全球购物
瑜伽服装品牌:露露柠檬(lululemon athletica)
2017/06/04 全球购物
如何用SQL语句进行模糊查找
2015/09/25 面试题
英语专业推荐信
2013/11/16 职场文书
地球物理学专业推荐信
2014/09/08 职场文书
党员群众路线剖析材料
2014/10/08 职场文书
城镇居民医疗保险工作总结
2015/08/10 职场文书