0

編集可能なdivをスクロールバーの位置を記憶するにはどうすればよいですか?現在、Chrome拡張機能をプログラミングしていて、メモ帳スタイルの編集可能なdivをユーザーがメモを書き込めるようにしています。現在、div onloadをオートフォーカスし、div内のテキストの最後にキャレットを表示するコードがあります。スクロールして、編集可能divのオンロードの下部に自動的にスクロールする方法

私は現在、スクロールバーを必要とします。

var div = document.getElementById("edit_notepad"); 

div.onfocus = function() { 
    window.setTimeout(function() { 
     var sel, range; 
     if (window.getSelection && document.createRange) { 
      range = document.createRange(); 
      range.selectNodeContents(div); 
      range.collapse(false); 
      sel = window.getSelection(); 
      sel.removeAllRanges(); 
      sel.addRange(range); 
     } else if (document.body.createTextRange) { 
      range = document.body.createTextRange(); 
      range.moveToElementText(div); 
      range.collapse(false); 
      range.select(); 
     } 
    }, 1); 
}; 

div.focus(); 

答えて

1

Scroll to bottom of Div on page load (jQuery)で行われたさまざまなアプローチを試して、あなたの懸念に最も適した方法を選択してください。

$('#div1').scrollTop($('#div1')[0].scrollHeight);

この関連SO postも役立つかもしれない:

一つの提案解決策は提案されているように正しいバージョンが@Mike Todd

でのdivの高さまでスクロールすることです。

0

localStorageを試してみませんか?

var position = localStorage.position || 0; 
div.scrollTop = position; 
localStorage.setItem("position", div.scrollTop); 

上記のコードは、私の知る限り、DIVのスクロール量の位置を取得し、設定する必要があります。

関連する問題