文字溢出实现溢出的部分再放入一个新生成的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在IE下使用未闭合的xml代码创建元素时的Bug介绍
Jan 10 Javascript
JS操作Cookies包括(读取添加与删除)
Dec 26 Javascript
javascript获取元素CSS样式代码示例
Nov 28 Javascript
JS创建自定义表格具体实现
Feb 11 Javascript
前端学习笔记style,currentStyle,getComputedStyle的用法与区别
May 28 Javascript
jQuery为DOM动态追加事件的方法
Feb 16 Javascript
canvas实现环形进度条效果
Mar 23 Javascript
JavaScript基于扩展String实现替换字符串中index处字符的方法
Jun 13 Javascript
vue.js声明式渲染和条件与循环基础知识
Jul 31 Javascript
JavaScript禁用右键单击优缺点分析
Jan 20 Javascript
vue将后台数据时间戳转换成日期格式
Jul 31 Javascript
如何通过shell脚本自动生成vue文件详解
Sep 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 静态变量的初始化
2009/11/15 PHP
PHP编码转换
2012/11/05 PHP
LotusPhp笔记之:基于ObjectUtil组件的使用分析
2013/05/06 PHP
php inc文件使用的风险和注意事项
2013/11/12 PHP
PHP 等比例缩放图片详解及实例代码
2016/09/18 PHP
ThinkPHP 3.2.3实现加减乘除图片验证码
2018/12/05 PHP
js限制checkbox选中个数以限制六个为例
2014/07/15 Javascript
jquery制作select列表双向选择示例代码
2014/09/02 Javascript
JavaScript中用toString()方法返回时间为字符串
2015/06/12 Javascript
基于JavaScript实现跳转提示页面
2016/09/24 Javascript
jQGrid动态填充select下拉框的选项值(动态填充)
2016/11/28 Javascript
Bootstrap中glyphicons-halflings-regular.woff字体报404错notfound的解决方法
2017/01/19 Javascript
jquery使用EasyUI Tree异步加载JSON数据(生成树)
2017/02/11 Javascript
详解vue-cil和webpack中本地静态图片的路径问题解决方案
2017/09/27 Javascript
antd-mobile ListView长列表的数据更新遇到的坑
2020/04/08 Javascript
一个计算身份证号码校验位的Python小程序
2014/08/15 Python
python实现去除下载电影和电视剧文件名中的多余字符的方法
2014/09/23 Python
举例讲解如何在Python编程中进行迭代和遍历
2016/01/19 Python
Python数据结构与算法之链表定义与用法实例详解【单链表、循环链表】
2017/09/28 Python
Python实现图片尺寸缩放脚本
2018/03/10 Python
Python模拟自动存取款机的查询、存取款、修改密码等操作
2018/09/02 Python
keras模型可视化,层可视化及kernel可视化实例
2020/01/24 Python
Tensorflow训练MNIST手写数字识别模型
2020/02/13 Python
MxNet预训练模型到Pytorch模型的转换方式
2020/05/25 Python
在Pycharm中安装Pandas库方法(简单易懂)
2021/02/20 Python
CSS3 实现童年的纸飞机
2019/05/05 HTML / CSS
HTML5实现经典坦克大战坦克乱走还能发出一个子弹
2013/09/02 HTML / CSS
大学生职业生涯规划方案
2014/01/03 职场文书
辩论赛主持词
2014/03/18 职场文书
毕业寄语大全
2014/04/09 职场文书
中班上学期幼儿评语
2014/04/30 职场文书
村庄环境整治方案
2014/05/15 职场文书
学生旷课检讨书500字
2014/10/28 职场文书
党校学习党性分析材料
2014/12/19 职场文书
Python利用机器学习算法实现垃圾邮件的识别
2021/06/28 Python
Win11如何设置右键单击显示所有选项?Win11右键单击显示所有选项设置教程
2022/04/08 数码科技