Hallo...,
nach langen probieren und testen im IE 6-9 + FF 3.5-5 habe ich eine eventuell für den einen oder anderen interessante Lösung wie ich mit 2 Textareas eine laufende Nummerierung mit Scrollfunktion erreichen kann...eingesetzt habe ich das ganze für einen Editor welcher in einen Web-Ftp-programm eingesetzt wird.....noch nicht ganz perfekt (im FF "flackert" die nummerierte Area wenn ich in einer Zeile Zeichen lösche oder hinzufüge)...vieleicht kommt jemand da auf eine Idee...
den Code in eine .html-Datei einfügen und probieren...
Code:
<html>
<head>
<title>Test</title>
<script type="text/javascript">
function count()
{
var num_length = document.getElementById('nummerarea').value.split('\n').length+1;
var area=document.getElementById('area').value.split('\n').length;
var num=area+'\n';
if(num_length<area)
{
var countrows='';
var zerofill;
for(i=1;i<=area;i++)
{
if(i<=9)
{
zerofill='000';
}
if(i>=10)
{
zerofill='00';
}
if(i>=100)
{
zerofill='0';
}
if(i>=1000)
{
zerofill='';
}
countrows += zerofill+i + ':\n';
}
document.getElementById('nummerarea').value = countrows;
}
else if(num_length>area)
{
var countrowsdown='';
for(i=1;i<=area;i++)
{
if(i<=9)
{
zerofill='000';
}
if(i>=10)
{
zerofill='00';
}
if(i>=100)
{
zerofill='0';
}
if(i>=1000)
{
zerofill='';
}
countrowsdown += zerofill+i + ':\n';
}
document.getElementById('nummerarea').value = countrowsdown;
}
else
{
document.getElementById('nummerarea').innerHTML =num;
}
}
function startcount()
{
var arealength = document.getElementById('area').value.split('\n').length;
var counter='';
for(i = 1;i<=arealength;i++)
{
if(i<=9)
{
zerofill='000';
}
if(i>=10)
{
zerofill='00';
}
if(i>=100)
{
zerofill='0';
}
if(i>=1000)
{
zerofill='';
}
counter += zerofill+i + ':\n';
}
document.getElementById('nummerarea').value =counter;
document.getElementById('area').scrollTo = 0;
}
function scroll()
{
document.getElementById('nummerarea').scrollTop = document.getElementById('area').scrollTop;
}
</script>
<style type="text/css">
<!--
#nummerarea {
overflow:hidden;
width:4em;
height:100%;
font-family:Verdana;
font-size:12px;
line-height : 14px;
border-right-width:0;
border-top-width:1px ;
border-left-width:1px;
border-bottom-width:1px;
border-color:red;
text-align:center;
float:left;
margin-left:10%;
}
.disabled
{
color:rgb(255,251,190);
background-color:gray;
}
#area {
height:100%;
width :75%;
font-family : Verdana;
font-size : 12px;
line-height : 14px;
border-width:1px;
border-color:green;
background-color:rgb(255,251,190);
}
.edit
{
width : 100%;
margin:1em auto;
height : 70%;
position:absolute;
}
-->
</style>
</head>
<body onload="startcount();">
<div class="edit">
<textarea id="nummerarea" disabled class="disabled"></textarea>
<textarea wrap="off" id="area" onscroll="scroll();" onkeyup="count(),scroll();" onkeypress="count();"></textarea>
</div>
</body>
</html>
Hinweise Willkomen !
Viel Spass !