- 把网页中的电话号码生成图片的ASP...
- 为动态生成html元素增加事件处理
- 如何将XHTML+CSS页面转换为打印机...
- 内容拷贝增加版权信息的JavaScrip...
- 用overflow代替left截取指定长度字...
- 网站论坛注册中常用的一种倒记时特...
- 网站常用的一种JS的图片幻灯片特效...
- revealTrans滤镜制作超弦图片的播...
- JS函数实现鼠标指向后带图片的提示...
- 两行代码在任意页面实现谷歌卫星图
- 网页制作中分类的选项卡特效代码
- 距离北京2008年奥运会开幕倒记时特...
- 网页的新颖效果:斜着滚动的marquee
- Javascript中判断润年简单的代码实...
- 巧妙去除网页中文字水印的两种方法
通常状况下,大家都使采用判断来判断textarea控件中含有多少行,但是,有这么一种情况,就是没有使用回车,而是字符过宽而textarea自动换的行,很显然,上面那种方法就不可行了.
这里,封装了一个方法getTextRange(num, areaId),这个方法只需要传入textarea的id及其需要的行号,即可以返回指定行,为了灵活,这里没有返回指定行的文本,而是返回了指定行的一个trange对象,如果需要文本,只需调用trange对象的text属性即可.
<SCRIPT language="javascript">
/**
* added by LxcJie 2004.7.16
* 返回指定行的range对象
* num为行号,areaId为textarea的id
*/
function getTextRange(num, areaId)
{
var range = document.all(areaId).createTextRange();
var rect = range.getClientRects();
var left = rect[0].left;
if(num > rect.length - 1 num < 0)
return;
if(num == 0)
{
var right = rect[0].right;
range.moveEnd("character",-range.text.length);
while(range.offsetLeft + range.boundingWidth < right)
{
range.expand("character");
}
return range;
}
else
{
var right = rect[num].right;
var range = getTextRange(num - 1, areaId);
range.moveStart("character",range.text.length + 1);
while(range.offsetLeft + range.boundingWidth < right)
{
range.expand("character");
}
if(range.offsetLeft > left)
range.moveStart("character",-1);
return range;
}
}
function getText(num)
{
var range = getTextRange(num,"area")
if(range != null)
