想实现的功能是,用javascript往固定大小的div里连续写入文字,
当div被刚好填满时,javascript自动生成一个新div写入后续文字。
div的大小固定,也不能出现滚动条。我不会判断写入到哪个字符时
div就满了,再多写入一个字符就溢出。请问大体应该怎么弄?多谢了!
当div被刚好填满时,javascript自动生成一个新div写入后续文字。
div的大小固定,也不能出现滚动条。我不会判断写入到哪个字符时
div就满了,再多写入一个字符就溢出。请问大体应该怎么弄?多谢了!
解决方案 »
- 求教一道关于jquery里$.post()函数与php数组之间数据传递的问题?
- 采用extjs4 MVC 架构 tabpanel中使用iframe,controller中监听的按钮无反应,这该怎么弄呢,求教~~(命名空间都正常)
- xslt转换成html时的一个诡异的问题
- 如何在HTML表单里画斜线?
- 同级frame的问题
- js 如何阻止事件冒泡。
- div中如何实现超链接,我想把每个名字变成超链接。大虾救命啊!
- 这样也不行?
- 对于改动过的页面,如何做退出前的提示?
- 一个省市下拉框选择.......非常急用!!!多谢贵人帮忙!!\
- Ajax群英会,火热报名中!
- <<JavaScript 从入门到精通>>最新下载
<div id=div1></div>
<script>
var d = document.getElementById("div0");
var h = d.offsetHeight;
var str = "这里是你要输入的内容";
var k = 0;
for(var i=0;i<str.length;i++){
d.innerHTML += str.substr(i,1);
if(d.offsetHeight>h){
d.innerHTML = str.substr(0,i);
k = i;
break;
}
//从k开始把剩下的内容输入到另一个div
document.getElementById("div1").innerHTML = str.substr(k);
}
</script>
不过这样做有什么作用?
方法还不是很熟。多谢1楼,我仔细学习学习你的代码。
我的目的是实现类似于word换页显示的效果,字符间距
和行距都用浏览器默认,我只要判断是否溢出,需要换
页时生成一个新页面继续显示。网上的字处理网站只有
zoho能勉强实现这个功能,我就是想模仿它的效果。还
只是一个设想,不知道还会遇到什么困难,欢迎各位给
点建议。
字符多会撑高,但是不会撑宽 每次写字进去了,判断offsetHeigth是不是和Heigth相等就行了.
<div id="div1" style="width:100%;border:1px solid black;"></div>
</div> <script>
window.onload = function(){
var str = "想实现的功能是,用javascript往固定大小的div里连续写入文字,当div被刚好填满时,javascript自动生成一个新div写入后续文字。div的大小固定,也不能出现滚动条。我不会判断写入到哪个字符时div就满了,再多写入一个字符就溢出。";
var currentid = 1;
// 让这个字符串足够长,没实际作用
for(var i = 0;i < 3;i++){
str += str;
} for(var i = 0;i < str.length;i++){
var currentdiv = document.getElementById("div" + currentid);
var theheight = 100;// 允许的最大高度
if(currentdiv.offsetHeight > theheight){
document.getElementById("div" + currentid).innerHTML = document.getElementById("div" + currentid).innerHTML.substring(0,document.getElementById("div" + currentid).innerHTML.length - 1);
i-=2; newdiv = document.createElement("div");
newdiv.style.border = "1px solid black";
newdiv.style.width = "100%";
currentid++;
newdiv.id = "div" + currentid;
document.getElementById("divmain").appendChild(newdiv);
}else{
document.getElementById("div" + currentid).innerHTML += str.charAt(i);
}
}
}
</script>
<div id="divmain" style="width:100%">
<div id="div1" style="width:100%;border:1px solid black;"></div>
</div> <script>
window.onload = function(){
var str = "aaaaaaaaaaa";
var currentid = 1;
// 让这个字符串足够长,没实际作用
for(var i = 0;i < 3;i++){
str += str;
} for(var i = 0;i < str.length;i++){
var currentdiv = document.getElementById("div" + currentid);
var theheight = 100;// 允许的最大高度
if(currentdiv.offsetHeight > theheight){
document.getElementById("div" + currentid).innerHTML = document.getElementById("div" + currentid).innerHTML.substring(0,document.getElementById("div" + currentid).innerHTML.length - 1);
i-=2; newdiv = document.createElement("div");
newdiv.style.border = "1px solid black";
newdiv.style.width = "100%";
currentid++;
newdiv.id = "div" + currentid;
document.getElementById("divmain").appendChild(newdiv);
}else{
document.getElementById("div" + currentid).innerHTML += str.charAt(i);
}
}
}
</script>楼上这个问题怎么解决?如果都是str= 200个连续的aaaaaaaaaaaaaaaaaaaaaaa......
遗憾的是,只对IE6有效,对FF无效newdiv.style.wordWrap = "break-word";
newdiv.style.wordBreak = "normal";同时第一个DIV的样式也要增加一些
<div id="div1" style="width:100px;border:1px solid black;word-wrap:break-word;word-break:break-all;"></div>
素位置的函数。写入一个字符时,系统里是否应该有一个确定它位置的光标,有没有
函数能把它的位置参数读出来?
正则表达式识别段落标记应该可以做。两端对齐不敢奢望,能正确
分页就不错了。
网上查到Firefox的onoverflow事件可以直接判断文本溢出,IE没有
这个事件。有人遇到和我类似的问题,网上有些解决方法,和上面
几位说的相近。
http://codingforums.com/showthread.php?t=94422