首页 > 其他 > 详细

文本编辑器左边显示行数

时间:2015-08-12 19:07:51      阅读:373      评论:0      收藏:0      [点我收藏+]

//调用方式

 createTextAreaWithLines(‘codeTextarea‘);

 

//文本编辑框左侧行数显示
function createTextAreaWithLines(id) {
var el = document.createElement(‘DIV‘);
var ta = document.getElementById(id);
ta.parentNode.insertBefore(el, ta);
el.appendChild(ta);
el.className = ‘textAreaWithLines‘;

el.style.width = (ta.offsetWidth + 30) + ‘px‘;
ta.style.position = ‘absolute‘;
ta.style.left = ‘30px‘;
el.style.height = (ta.offsetHeight + 2) + ‘px‘;
el.style.overflow = ‘hidden‘;
el.style.position = ‘relative‘;
el.style.width = (ta.offsetWidth + 30) + ‘px‘;
var lineObj = document.createElement(‘DIV‘);
lineObj.style.position = ‘absolute‘;
lineObj.style.top = lineObjOffsetTop + ‘px‘;
lineObj.style.left = ‘0px‘;
lineObj.style.width = ‘27px‘;
el.insertBefore(lineObj, ta);
lineObj.style.textAlign = ‘right‘;
lineObj.className = ‘lineObj‘;
var string = ‘‘;
for (var no = 1; no < 5000; no++) {
if (string.length > 0) string = string + ‘<br>‘;
string = string + no;
}
ta.onkeydown = function () { positionLineObj(lineObj, ta); };
ta.onmousedown = function () { positionLineObj(lineObj, ta); };
ta.onscroll = function () { positionLineObj(lineObj, ta); };
ta.onblur = function () { positionLineObj(lineObj, ta); };
ta.onfocus = function () { positionLineObj(lineObj, ta); };
ta.onmouseover = function () { positionLineObj(lineObj, ta); };
lineObj.innerHTML = string;
}
function positionLineObj(obj, ta) {
obj.style.top = (ta.scrollTop * -1 + lineObjOffsetTop) + ‘px‘;
}

文本编辑器左边显示行数

原文:http://www.cnblogs.com/-netxc/p/4724952.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!