次のようにテーブルを設定しました。各セルにはスパンとテキストエリアが含まれています。
<table>
<tr><td class="title">Original File</td></tr>
<tr><td><span id='ogline' onscroll="og.scrollTop=scrollTop"></span><span><textarea onscroll="ogline.scrollTop=scrollTop" onkeyup="linenumber()" id='og' onfocusout="linenumber()"></textarea></span></td></tr>
</table>
それに加えて、次のCSSがあります。
<style>
span {
width:93%;
height: 100%;
}
textarea {
width:92%;
height: 100%;
border-style:solid;
border-color:black;
border-width:2px;
font-size:13px;
}
table {
width:100%;
height:100%;
}
.title {
height:5%;
text-align:center;
background-color:#009;
color:white;
}
#ogline {
padding-top:4px;
overflow:auto;
font-size:12px;
line-height:14.99px;
width:6%;
}
</style>
私がやろうとしているのは、スパンのスクロールバーとテキストエリアのスクロールバーを同期させることです。次のコードで onscroll イベントリスナーを使用して、これをある程度達成しました。
onscroll="og.scrollTop=scrollTop"
onscroll="ogline.scrollTop = scrollTop
これにより、スパンが本来あるべき場所から約1行ずれて、私が望んでいたことがある程度達成されました。私が抱えている最大の問題は、大量のテキストをテキストエリアに貼り付けたときです。これはほとんど完全に機能しません.一方のスクロールバーが他方のスクロールバーに追いつく前に、一方のスクロールバーをかなりの時間押し続けるまで、両方のスクロールバーが完全にオフになります.
助言がありますか?私が試すべきこの問題へのより良いアプローチはありますか?どんな助けでも大歓迎です。